An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic

In this paper we present a new decision procedure for the satisfiability of Linear Arithmetic Logic (LAL), i.e. boolean combinations of propositional variables and linear constraints over numerical variables. Our approach is based on the well known integration of a propositional SAT procedure with theory deciders, enhanced in the following ways. First, our procedure relies on an incremental solver for linear arithmetic, that is able to exploit the fact that it is repeatedly called to analyze sequences of increasingly large sets of constraints. Reasoning in the theory of LA interacts with the boolean top level by means of a stack-based interface, that enables the top level to add constraints, set points of backtracking, and backjump, without restarting the procedure from scratch at every call. Sets of inconsistent constraints are found and used to drive backjumping and learning at the boolean level, and theory atoms that are consequences of the current partial assignment are inferred. Second, the solver is layered: a satisfying assignment is constructed by reasoning at different levels of abstractions (logic of equality, real values, and integer solutions). Cheaper, more abstract solvers are called first, and unsatisfiability at higher levels is used to prune the search. In addition, theory reasoning is partitioned in different clusters, and tightly integrated with boolean reasoning. We demonstrate the effectiveness of our approach by means of a thorough experimental evaluation: our approach is competitive with and often superior to several state-of-the-art decision procedures.

[1]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[2]  Karem A. Sakallah,et al.  GRASP—a new search algorithm for satisfiability , 1996, ICCAD 1996.

[3]  Peter J. Stuckey,et al.  Solving linear arithmetic constraints for user interface applications , 1997, UIST '97.

[4]  Roberto J. Bayardo,et al.  Using CSP Look-Back Techniques to Solve Real-World SAT Instances , 1997, AAAI/IAAI.

[5]  Bart Selman,et al.  Boosting Combinatorial Search Through Randomization , 1998, AAAI/IAAI.

[6]  Peter F. Patel-Schneider,et al.  FaCT and DLP , 1998, TABLEAUX.

[7]  Daniel S. Weld,et al.  The LPSAT Engine & Its Application to Resource Planning , 1999, IJCAI.

[8]  Andrew V. Goldberg,et al.  Negative-cycle detection algorithms , 1996, Math. Program..

[9]  Greg J. Badros,et al.  The Cassowary Linear Arithmetic Constraint Solving Algorithm: Interface and Implementation , 1999 .

[10]  Enrico Giunchiglia,et al.  SAT-Based Procedures for Temporal Reasoning , 1999, ECP.

[11]  M. Moskewicz,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

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

[13]  Michael J. Maher,et al.  Solving Numerical Constraints , 2001, Handbook of Automated Reasoning.

[14]  Piergiorgio Bertoli,et al.  Integrating Boolean and Mathematical Solving: Foundations, Basic Algorithms, and Requirements , 2002, AISC.

[15]  Gilles Audemard,et al.  Bounded Model Checking for Timed Systems , 2002, FORTE.

[16]  Rolf Drechsler,et al.  RTL-datapath verification using integer linear programming , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[17]  Stephan Schulz,et al.  E - a brainiac theorem prover , 2002, AI Commun..

[18]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[19]  Piergiorgio Bertoli,et al.  A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions , 2002, CADE.

[20]  Alessandro Cimatti,et al.  SAT-Based Bounded Model Checking for Timed Systems , 2002 .

[21]  Xinming Ou,et al.  Theorem Proving Using Lazy Proof Explication , 2003, CAV.

[22]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[23]  Sanjit A. Seshia,et al.  A hybrid SAT-based decision procedure for separation logic with uninterpreted functions , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[24]  Albert Oliveras,et al.  Congruence Closure with Integer Offsets , 2003, LPAR.

[25]  Kwang-Ting Cheng,et al.  An efficient finite-domain constraint solver for circuits , 2004, Proceedings. 41st Design Automation Conference, 2004..

[26]  Joël Ouaknine,et al.  Abstraction-Based Satisfiability Solving of Presburger Arithmetic , 2004, CAV.

[27]  Shuvendu K. Lahiri,et al.  Zapato: Automatic Theorem Proving for Predicate Abstraction Refinement , 2004, CAV.

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

[29]  Enrico Giunchiglia,et al.  A SAT-based Decision Procedure for the Boolean Combination of Difference Constraints , 2004, SAT.

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

[31]  A. Cimatti,et al.  The MathSAT Solver — a progress report , 2004 .

[32]  Marco Bozzano,et al.  Verifying Industrial Hybrid Systems with MathSAT , 2005, BMC@CAV.