MathSAT: Tight Integration of SAT and Mathematical Decision Procedures

Recent improvements in propositional satisfiability techniques (SAT) made it possible to tackle successfully some hard real-world problems (e.g., model-checking, circuit testing, propositional planning) by encoding into SAT. However, a purely Boolean representation is not expressive enough for many other real-world applications, including the verification of timed and hybrid systems, of proof obligations in software, and of circuit design at RTL level. These problems can be naturally modeled as satisfiability in linear arithmetic logic (LAL), that is, the Boolean combination of propositional variables and linear constraints over numerical variables. In this paper we present MathSAT, a new, SAT-based decision procedure for LAL, based on the (known approach) of integrating a state-of-the-art SAT solver with a dedicated mathematical solver for LAL. We improve MathSAT in two different directions. First, the top‐level line procedure is enhanced and now features a tighter integration between the Boolean search and the mathematical solver. In particular, we allow for theory-driven backjumping and learning, and theory-driven deduction; we use static learning in order to reduce the number of Boolean models that are mathematically inconsistent; we exploit problem clustering in order to partition mathematical reasoning; and we define a stack-based interface that allows us to implement mathematical reasoning in an incremental and backtrackable way. Second, the mathematical solver is based on layering; that is, the consistency of (partial) assignments is checked in theories of increasing strength (equality and uninterpreted functions, linear arithmetic over the reals, linear arithmetic over the integers). For each of these layers, a dedicated (sub)solver is used. Cheaper solvers are called first, and detection of inconsistency makes call of the subsequent solvers superfluous. We provide a through experimental evaluation of our approach, by taking into account a large set of previously proposed benchmarks. We first investigate the relative benefits and drawbacks of each proposed technique by comparison with respect to a reference option setting. We then demonstrate the global effectiveness of our approach by a comparison with several state-of-the-art decision procedures. We show that the behavior of MathSAT is often superior to its competitors, both on LAL and in the subclass of difference logic.

[1]  Ofer Strichman On Solving Presburger and Linear Arithmetic with SAT , 2002, FMCAD.

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

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

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

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

[6]  Andrew V. Goldberg,et al.  Negative-Cycle Detection Algorithms , 1996, ESA.

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

[8]  Ji-Ae Shin,et al.  Continuous Time in a SAT-Based Planner , 2004, AAAI.

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

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

[11]  Ofer Strichman,et al.  Deciding Separation Formulas with SAT , 2002, CAV.

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

[13]  Roland H. C. Yap,et al.  The CLP( R ) language and system , 1992, TOPL.

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

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

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

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

[18]  A. Land,et al.  An Automatic Method for Solving Discrete Programming Problems , 1960, 50 Years of Integer Programming.

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

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

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

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

[23]  Manolis Koubarakis,et al.  Backtracking algorithms for disjunctions of temporal constraints , 1998, Artif. Intell..

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

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

[26]  Harald Ruess,et al.  An Experimental Evaluation of Ground Decision Procedures , 2004, CAV.

[27]  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.

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

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

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

[31]  Marco Bozzano,et al.  An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic , 2005, TACAS.

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

[33]  K. Sakallah,et al.  A New Search Algorithm for Satisfiability , 1996 .

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

[35]  Eugene Asarin,et al.  Some Progress in Satisfiability Checking for Difference Logic , 2004, FORMATS/FTRTFT.

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

[37]  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).