Abstract
We present a unifying framework for understanding and developing SAT-based decision procedures for Satisfiability Modulo Theories (SMT). The framework is based on a reduction of the decision problem to propositional logic by means of a deductive system. The two commonly used techniques, eager encodings (a direct reduction to propositional logic) and lazy encodings (a family of techniques based on an interplay between a SAT solver and a decision procedure) are identified as special cases. This framework offers the first generic approach for eager encodings, and a simple generalization of various lazy techniques that are found in the literature.
Similar content being viewed by others
References
Audemard G, Bertoli P, Cimatti A, Kornilowicz A, Sebastiani R (2002) A SAT based approach for solving formulas over Boolean and linear mathematical propositions. In: Voronkov A (ed) Automated deduction (CADE 2002), Lecture notes in computer science, vol 2392. Springer, Berlin
Barrett C, de Moura L, Stump A (2005) Design and results of the 1st satisfiability modulo theories competition (SMT-COMP 2005). J Autom Reason 35(4): 373–390
Barrett C, Nieuwenhuis R, Oliveras A, Tinelli C (2006) Splitting on demand in SAT modulo theories. In: Logic for programming, artificial intelligence, and reasoning (LPAR 2006). Lecture notes in computer science, vol 4246. Springer, Berlin, pp 512–526
Bryant RE, Velev M (2000) Boolean satisfiability with transitivity constraints. In: Proceedings of the 12th international conference on computer aided verification (CAV 2000). Lecture notes in computer science, vol 1855, pp 85–98
Bik AJC, Wijshoff HAG (1994) Implementation of Fourier–Motzkin elimination. Technical report 94-42. Department of Computer Science, Leiden University
Danzig GB (1963) Linear programming and extensions. Princeton University Press, NJ
Flanagan C, Joshi R, Ou X, Saxe JB (2003) Theorem proving using lazy proof explication. In: Proceedings of the 15th international conference on computer aided verification (CAV 2003). Lecture notes in computer science, vol 2725. Springer, Berlin, pp 355–367
Filliatre JC, Owre S, Rueb H, Shankar N (2001) ICS: integrated canonizer and solver. In: Berry G, Comon H, Finkel A (eds) Proceedings of the 13th international conference on computer aided verification (CAV 2001). Lecture notes in computer science, vol 2102. Springer, Berlin, pp 246–249
Ganzinger H, Hagen G, Nieuwenhuis R, Oliveras A, Tinelli C (2004) DPLL(T): fast decision procedures. In: Proceedings of the 16th international conference on computer aided verification (CAV 2004). Lecture notes in computer science, vol 3114. Springer, Berlin, pp 175–188
Moskewicz M, Madigan C, Zhao Y, Zhang L, Malik S (2001) Chaff: engineering an efficient SAT solver. In: Design automation conference (DAC 2001). ACM Press, New York, pp 530–535
Nelson G (1981) Techniques for program verification. Technical report. Xerox Palo Alto Research Center (CSL-81-10)
Nieuwenhuis R, Oliveras A (2005) DPLL(T) with exhaustive theory propagation and its application to difference logic. In: Proceedings of the 17th internatioal conference on computer aided verification (CAV 2005). Lecture notes in computer science, vol 3576. Springer, Berlin, pp 321–334
Pnueli A, Rodeh Y, Shtrichman O, Siegel M (1999) Deciding equality formulas by small-domains instantiations. In: Proceedings of the 11th international conference on computer aided verification (CAV’99). Lecture notes in computer science, vol 1633. Springer, Berlin, pp 455–469
Pugh W (1991) The Omega test: a fast and practical integer programming algorithm for dependence analysis. In: Proceedings of the 1991 ACM/IEEE conference on supercomputing, pp 4–13
Ruess H, Shankar N (2004) Solving linear arithmetic constraints. Technical Report (SRI-CSL-04-01), SRI
Stump A, Barrett C, Dill D (2002) CVC: a cooperating validity checker. In: Brinksma E, Larsen KG (eds) Proceedings of the 14th international conference on computer aided verification (CAV’02). Lecture notes in computer science, vol 2404. Springer, Berlin, pp 500–504
Shtrichman O (2001) Pruning techniques for the sat-based bounded model checking problem. In: Margaria T, Melham TF (eds) Correct hardware design and verification methods (CHARME 2001). Lecture notes in computer science, vol 2144. Springer, Berlin, pp 58–70
Strichman O, Seshia SA, Bryant RE (2002) Deciding separation formulas with SAT. In: Brinksma E, Larsen KG (eds) Proceedings of the 14th international conference on computer aided verification (CAV’02). Lecture notes in computer science, vol 2404. Springer, Berlin, pp 209–222
Strichman O (2002) On solving Presburger and linear arithmetic with SAT. In: Aagaard M, O’Leary JW (eds) Formal methods in computer-aided design (FMCAD 2002). Lecture notes in computer science, vol 2517. Springer, Portland, pp 160–170
Tinelli C (2002) A DPLL-based calculus for ground satisfiability modulo theories. In: Proceedings of the 8th European conference on logics in artificial intelligence. Lecture notes in artificial intelligence, vol 2424. Springer, Berlin, pp 308–319
Whittemore J, Kim J, Sakallah K (2001) SATIRE: a new incremental satisfiability engine. In: Design automation conference (DAC). ACM Press, New York, pp 542–545
Author information
Authors and Affiliations
Corresponding author
Additional information
C.B. Jones
Supported by the European Union as part of the FP7 STREP MOGENTES.
Rights and permissions
About this article
Cite this article
Kroening, D., Strichman, O. A framework for Satisfiability Modulo Theories. Form Asp Comp 21, 485–494 (2009). https://doi.org/10.1007/s00165-009-0105-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-009-0105-z