Splitting on Demand in SAT Modulo Theories

Lazy algorithms for Satisfiability Modulo Theories (SMT) combine a generic DPLL-based SAT engine with a theory solver for the given theory T that can decide the T-consistency of conjunctions of ground literals. For many theories of interest, theory solvers need to reason by performing internal case splits. Here we argue that it is more convenient to delegate these case splits to the DPLL engine instead. The delegation can be done on demand for solvers that can encode their internal case splits into one or more clauses, possibly including new constants and literals. This results in drastically simpler theory solvers. We present this idea in an improved version of DPLL(T), a general SMT architecture for the lazy approach, and formalize and prove it correct in an extension of Abstract DPLL Modulo Theories, a framework for modeling and reasoning about lazy algorithms for SMT. A remarkable additional feature of the architecture, also discussed in the paper, is that it naturally includes an efficient Nelson-Oppen-like combination of multiple theories and their solvers.

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

[2]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[3]  David L. Dill,et al.  A decision procedure for an extensional theory of arrays , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

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

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

[6]  Clark W. Barrett,et al.  Ph.D. thesis: Checking the validity of quantifier-free formulas in combinations of first-order theories , 2003 .

[7]  Calogero G. Zarba,et al.  A New Fast Tableau-Based Decision Procedure for an Unquantified Fragment of Set Theory , 1998, FTP.

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

[9]  Cesare Tinelli,et al.  A New Correctness Proof of the {Nelson-Oppen} Combination Procedure , 1996, FroCoS.

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

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

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

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

[14]  Marco Bozzano,et al.  Efficient theory combination via boolean search , 2006, Inf. Comput..