DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic

At CAV'04 we presented the DPLL(T) approach for satisfiability modulo theories T. It is based on a general DPLL(X) engine whose X can be instantiated with different theory solvers SolverT for conjunctions of literals. Here we go one important step further: we require SolverT to be able to detect all input literals that are T-consequences of the partial model that is being explored by DPLL(X). Although at first sight this may seem too expensive, we show that for difference logic the benefits compensate by far the costs. Here we describe and discuss this new version of DPLL(T), the DPLL(X) engine, and our SolverT for difference logic. The resulting very simple DPLL(T) system importantly outperforms the existing techniques for this logic. Moreover, it has very good scaling properties: especially on the larger problems it gives improvements of orders of magnitude w.r.t. the existing state-of-the-art tools.

[1]  Joao Marques-Silva,et al.  GRASP: A Search Algorithm for Propositional Satisfiability , 1999, IEEE Trans. Computers.

[2]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

[3]  Sanjit A. Seshia,et al.  Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions , 2002, CAV.

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

[5]  L. D. Moura Lemmas on Demand for Satisfiability Solvers , 2002 .

[6]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[7]  Sanjit A. Seshia,et al.  The UCLID Decision Procedure , 2004, CAV.

[8]  Yassine Lakhnech,et al.  Formal Techniques, Modelling and Analysis of Timed and Fault-Tolerant Systems , 2004, Lecture Notes in Computer Science.

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

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

[11]  Amir Pnueli,et al.  Deciding Equality Formulas by Small Domains Instantiations , 1999, CAV.

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

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

[14]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

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

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

[17]  Amir Pnueli,et al.  Range Allocation for Separation Logic , 2004, CAV.

[18]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[19]  David L. Dill,et al.  Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT , 2002, CAV.

[20]  Daniel S. Weld Recent Advances in AI Planning , 1999, AI Mag..

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

[22]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

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

[24]  Cesare Tinelli,et al.  Abstract DPLL and Abstract DPLL Modulo Theories , 2005, LPAR.

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

[26]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[27]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

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

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

[30]  Eugene Goldberg,et al.  BerkMin: A Fast and Robust Sat-Solver , 2002, Discret. Appl. Math..