Linear Integer Arithmetic Revisited

  • Martin Bromberger
  • Thomas Sturm
  • Christoph Weidenbach
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9195)

Abstract

We consider feasibility of linear integer programs in the context of verification systems such as SMT solvers or theorem provers. Although satisfiability of linear integer programs is decidable, many state-of-the-art solvers neglect termination in favor of efficiency. It is challenging to design a solver that is both terminating and practically efficient. Recent work by Jovanović and de Moura constitutes an important step into this direction. Their algorithm CUTSAT is sound, but does not terminate, in general. In this paper we extend their CUTSAT algorithm by refined inference rules, a new type of conflicting core, and a dedicated rule application strategy. This leads to our algorithm CUTSAT++, which guarantees termination.

Keywords

Linear arithmetic SMT SAT DPLL Linear programming Integer arithmetic 

References

  1. 1.
    Barrett, C.W., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Splitting on demand in SAT modulo theories. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 512–526. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  2. 2.
    Bromberger, M., Sturm, T., Weidenbach, C.: Linear integer arithmetic revisited. ArXiv e-prints, abs/1503.02948 (2015)Google Scholar
  3. 3.
    Cooper, D.C.: Theorem proving in arithmetic without multiplication. In: Meltzer, B., Michie, D. (eds.) 1971 Proceedings of the Seventh Annual Machine Intelligence Workshop, Edinburgh. Machine Intelligence, vol. 7, pp. 91–99. Edinburgh University Press (1972)Google Scholar
  4. 4.
    Dillig, I., Dillig, T., Aiken, A.: Cuts from proofs: a complete and practical technique for solving linear inequalities over integers. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 233–247. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  5. 5.
    Fietzke, A., Weidenbach, C.: Superposition as a decision procedure for timed automata. Math. Comput. Sci. 6(4), 409–425 (2012)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Fischer, M.J., Rabin, M.: Super-exponential complexity of Presburger arithmetic. SIAM-AMS Proc. 7, 27–41 (1974)MathSciNetGoogle Scholar
  7. 7.
    Griggio, A.: A practical approach to satisability modulo linear integer arithmetic. JSAT 8(1/2), 1–27 (2012)MathSciNetGoogle Scholar
  8. 8.
    Jovanović, D., de Moura, L.: Cutting to the chase. J. Autom. Reasoning 51(1), 79–108 (2013)CrossRefGoogle Scholar
  9. 9.
    Jünger, M., Liebling, T.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds.): 50 Years of Integer Programming 1958–2008. Springer, Heidelberg (2010)MATHGoogle Scholar
  10. 10.
    Lasaruk, A., Sturm, T.: Weak quantifier elimination for the full linear theory of the integers. A uniform generalization of Presburger arithmetic. Appl. Algebra Eng. Commun. Comput. 18(6), 545–574 (2007)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Papadimitriou, C.H.: On the complexity of integer programming. J. ACM 28(4), 765–768 (1981)MathSciNetCrossRefMATHGoogle Scholar
  12. 12.
    Presburger, M.: Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen. welchem die Addition als einzige Operation hervortritt. In: Comptes Rendus du premier congres de Mathematiciens des Pays Slaves, pp. 92–101. Warsaw, Poland (1929)Google Scholar
  13. 13.
    Weispfenning, V.: The complexity of almost linear diophantine problems. J. Symb. Comput. 10(5), 395–403 (1990)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Martin Bromberger
    • 1
  • Thomas Sturm
    • 1
  • Christoph Weidenbach
    • 1
  1. 1.Max Planck Institute for InformaticsSaarbrückenGermany

Personalised recommendations