A Fast Linear-Arithmetic Solver for DPLL(T)

We present a new Simplex-based linear arithmetic solver that can be integrated efficiently in the DPLL(T) framework. The new solver improves over existing approaches by enabling fast backtracking, supporting a priori simplification to reduce the problem size, and providing an efficient form of theory propagation. We also present a new and simple approach for solving strict inequalities. Experimental results show substantial performance improvements over existing tools that use other Simplex-based solvers in DPLL(T) decision procedures. The new solver is even competitive with state-of-the-art tools specialized for the difference logic fragment.

[1]  George B. Dantzig,et al.  Fourier-Motzkin Elimination and Its Dual , 1973, J. Comb. Theory A.

[2]  David K. Smith Theory of Linear and Integer Programming , 1987 .

[3]  Laurence A. Wolsey,et al.  Integer and Combinatorial Optimization , 1988 .

[4]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[5]  George C. Necula,et al.  Compiling with proofs , 1998 .

[6]  Peter J. Stuckey,et al.  The Cassowary linear arithmetic constraint solving algorithm , 2001, TCHI.

[7]  Natarajan Shankar,et al.  ICS: Integrated Canonizer and Solver , 2001, CAV.

[8]  David L. Dill,et al.  CVC: A Cooperating Validity Checker , 2002, CAV.

[9]  Sergey Berezin,et al.  CVC Lite: A New Implementation of the Cooperating Validity Checker Category B , 2004, CAV.

[10]  Cesare Tinelli,et al.  DPLL( T): Fast Decision Procedures , 2004, CAV.

[11]  Albert Oliveras,et al.  DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic , 2005, CAV.

[12]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[13]  Aaron Stump,et al.  SMT-COMP: Satisfiability Modulo Theories Competition , 2005, CAV.

[14]  Karem A. Sakallah,et al.  A Scalable Method for Solving Satisfiability of Integer Linear Arithmetic Logic , 2005, SAT.

[15]  Marco Bozzano,et al.  The MathSAT 3 System , 2005, CADE.

[16]  Marco Bozzano,et al.  Efficient Satisfiability Modulo Theories via Delayed Theory Combination , 2005, CAV.

[17]  Chao Wang,et al.  Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination , 2005, LPAR.

[18]  Bruno Dutertre,et al.  Integrating Simplex with DPLL(T ) , 2006 .

[19]  Yuval Rabani,et al.  Linear Programming , 2007, Handbook of Approximation Algorithms and Metaheuristics.