Satisfiability Modulo Theories

Many applications of formal methods rely on generating formulas of First-Order Logic (FOL) and proving or disproving their validity. Despite the great progress in the last twenty years in automated theorem proving (and disproving) in FOL, general-purpose theorem provers, such as for instance provers based on the resolution calculus, are typically inadequate to work with the sort of formulas generated by formal methods tools. The main reason is that these tools are not interested in validity in general but in validity with respect to some background theory, a logical theory that fixes the interpretations of certain predicates and function symbols. For instance, in formal methods involving the integers, one is only interested in showing that the formula ∀x ∀y (x < y ⇒ x < y + y)

[1]  Calogero G. Zarba,et al.  Combining Data Structures with Nonstably Infinite Theories Using Many-Sorted Logic , 2005, FroCoS.

[2]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

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

[4]  Albert Oliveras,et al.  Fast congruence closure and extensions , 2007, Inf. Comput..

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

[6]  Mark Lillibridge,et al.  Extended static checking for Java , 2002, PLDI '02.

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

[8]  Albert Oliveras,et al.  DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic , 2005, CAV.

[9]  Cesare Tinelli,et al.  Scaling Up the Formal Verification of Lustre Programs with SMT-Based Techniques , 2008, 2008 Formal Methods in Computer-Aided Design.

[10]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

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

[12]  Aart Middeldorp,et al.  Satisfiability of Non-linear (Ir)rational Arithmetic , 2010, LPAR.

[13]  Cesare Tinelli A DPLL-Based Calculus for Ground Satisfiability Modulo Theories , 2002, JELIA.

[14]  Calogero G. Zarba,et al.  Combining Nonstably Infinite Theories , 2005, Journal of Automated Reasoning.

[15]  Clark W. Barrett,et al.  Polite Theories Revisited , 2010, LPAR.

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

[17]  Christophe Ringeissen,et al.  Cooperation of Decision Procedures for the Satisfiability Problem , 1996, FroCoS.

[18]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

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

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

[21]  Albert Oliveras,et al.  SMT Techniques for Fast Predicate Abstraction , 2006, CAV.

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

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

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

[25]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[26]  Shuvendu K. Lahiri,et al.  An Efficient Decision Procedure for UTVPI Constraints , 2005, FroCoS.

[27]  Derek C. Oppen,et al.  Complexity, Convexity and Combinations of Theories , 1980, Theor. Comput. Sci..

[28]  Nikolaj Bjørner,et al.  Generalized, efficient array decision procedures , 2009, 2009 Formal Methods in Computer-Aided Design.