Satisfiability Modulo Theories and Assignments

The CDCL procedure for SAT is the archetype of conflict-driven procedures for satisfiability of quantifier-free problems in a single theory. In this paper we lift CDCL to CDSAT (Conflict-Driven Satisfiability), a system for conflict-driven reasoning in combinations of disjoint theories. CDSAT combines theory modules that interact through a global trail representing a candidate model by Boolean and first-order assignments. CDSAT generalizes to generic theory combinations the model-constructing satisfiability calculus (MCSAT) introduced by de Moura and Jovanovic. Furthermore, CDSAT generalizes the equality sharing (Nelson-Oppen) approach to theory combination, by allowing theories to share equality information both explicitly through equalities and disequalities, and implicitly through assignments. We identify sufficient conditions for the soundness, completeness, and termination of CDSAT.

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

[2]  Kenneth L. McMillan,et al.  Generalizing DPLL to Richer Logics , 2009, CAV.

[3]  Leonardo Mendonça de Moura,et al.  Cutting to the Chase , 2011, Journal of Automated Reasoning.

[4]  Philipp Rümmer,et al.  Deciding Bit-Vector Formulas with mcSAT , 2016, SAT.

[5]  Leonardo Mendonça de Moura,et al.  A Model-Constructing Satisfiability Calculus , 2013, VMCAI.

[6]  Cesare Tinelli,et al.  Splitting on Demand in SAT Modulo Theories , 2006, LPAR.

[7]  Amit Goel,et al.  Architecting Solvers for SAT Modulo Theories: Nelson-Oppen with DPLL , 2007, FroCoS.

[8]  Scott Cotton Natural Domain SMT: A Preliminary Assessment , 2010, FORMATS.

[9]  Maria Paola Bonacina,et al.  On Conflict-Driven Reasoning , 2018, AFM@NFM.

[10]  Clark W. Barrett,et al.  The design and implementation of the model constructing satisfiability calculus , 2013, 2013 Formal Methods in Computer-Aided Design.

[11]  Leonardo Mendonça de Moura,et al.  Solving non-linear arithmetic , 2012, ACCA.

[12]  Maria Paola Bonacina,et al.  A model-constructing framework for theory combination , 2016 .

[13]  P. Smokowski,et al.  Conflict Resolution , 1989, International Conference on Principles and Practice of Constraint Programming.

[14]  Dejan Jovanovic,et al.  Solving Nonlinear Integer Arithmetic with MCSAT , 2017, VMCAI.

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

[16]  Daniel Kroening,et al.  Deciding floating-point logic with systematic abstraction , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).

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

[18]  Inês Lynce,et al.  Conflict-Driven Clause Learning SAT Solvers , 2009, Handbook of Satisfiability.