Cuts from proofs: a complete and practical technique for solving linear inequalities over integers

Springer Science and Business Media LLC - Tập 39 - Trang 246-260 - 2011
Isil Dillig1, Thomas Dillig1, Alex Aiken1
1Department of Computer Science, Stanford University, Stanford, USA

Tóm tắt

We propose a novel, sound, and complete Simplex-based algorithm for solving linear inequalities over integers. Our algorithm, which can be viewed as a semantic generalization of the branch-and-bound technique, systematically discovers and excludes entire subspaces of the solution space containing no integer points. Our main insight is that by focusing on the defining constraints of a vertex, we can compute a proof of unsatisfiability for the intersection of the defining constraints and use this proof to systematically exclude subspaces of the feasible region with no integer points. We show experimentally that our technique significantly outperforms the top four competitors in the QF-LIA category of the SMT-COMP ’08 when solving conjunctions of linear inequalities over integers.

Tài liệu tham khảo

Cousot P, Halbwachs N (1978) Automatic discovery of linear restraints among variables of a program. ACM, New York, pp 84–97 Pugh W (1992) The Omega test: a fast and practical integer programming algorithm for dependence analysis. Commun ACM Brinkmann R, Drechsler R (2002) RTL-datapath verification using integer linear programming. In: VLSI design, pp 741–746 Amon T, Borriello G, Hu T, Liu J (1997) Symbolic timing verification of timing diagrams using Presburger formulas. In: DAC ’97: Proceedings of the 34th annual conference on design automation. ACM, New York, pp 226–231 Dutertre B, De Moura L (2006) The Yices SMT solver. Technical report, SRI International De Moura L, Bjørner N (2008) Z3: An efficient SMT solver. Tools and algorithms for the construction and analysis of systems, April 2008, pp 337–340 Barrett C, Tinelli C (2007) CVC3. In: Damm W, Hermanns H (eds) Proceedings of the 19th international conference on computer aided verification. Lecture notes in computer science, vol 4590. Springer, Berlin, pp 298–302 Bruttomesso R, Cimatti A, Franzén A, Griggio A, Sebastiani R (2008) The MathSAT4 SMT solver. In: Proceedings of the 20th international conference on computer aided verification. Springer, Berlin/Heidelberg, pp 299–303 Bofill M, Nieuwenhuis R, Oliveras A, Rodríguez-Carbonell E, Rubio A (2008) The Barcelogic smt solver. In: Proceedings of the 20th international conference on computer aided verification. Springer, Berlin/Heidelberg, pp 294–298 Dantzig G (1963) Linear programming and extensions. Princeton University Press, Princeton Ganesh V, Berezin S, Dill D (2002) Deciding Presburger arithmetic by model checking and comparisons with other methods. In: FMCAD ’02: Proceedings of the 4th international conference on formal methods in computer-aided design. Springer, London, pp 171–186 Schrijver A (1986) Theory of linear and integer programming. Wiley, New York Nemhauser GL, Wolsey L (1988) Integer and combinatorial optimization. Wiley, New York Storjohann A, Labahn G (1996) Asymptotically fast computation of Hermite normal forms of integer matrices. In: Proc int’l symp on symbolic and algebraic computation: ISSAC ’96. ACM Press, New York, pp 259–266 http://gmplib.org/: Gnu mp bignum library Cohen H (1993) A course in computational algebraic number theory. Graduate texts in mathematics. Springer, Berlin Domich P, Kannan R, Trotter L (1987) J.: Hermite normal form computation using modulo determinant arithmetic. Mathematics of Operations Research 12(1):50–59 http://www.smtcomp.org: Smt-comp’08 http://www.gnu.org/software/glpk/: Glpk (gnu linear programming kit) http://lpsolve.sourceforge.net/5.5/: lp_solve reference guide http://www.ilog.com/products/cplex/: Cplex Seshia S, Bryant R (2004) Deciding quantifier-free Presburger formulas using parameterized solution bounds Jain H, Clarke E, Grumberg O (2008) Efficient Craig interpolation for linear Diophantine (dis)equations and linear modular equations. In: Proceedings of the 20th international conference on computer aided verification. Springer, Berlin/Heidelberg, pp 254–267 Wolper P, Boigelot B (1995) An automata-theoretic approach to Presburger arithmetic constraints. In: Proceedings of the symposium on static analysis (SAS), pp 21–32 Craig W (1957) Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. J Symb Log 269–285 McMillan KL (2005) Applications of Craig interpolants in model checking. In: Proceedings of tools and algorithms for the construction and analysis of systems (TACAS), pp 1–12