Skip to main content
Log in

A framework for Satisfiability Modulo Theories

  • Original Article
  • Published:
Formal Aspects of Computing

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

  2. 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

    Article  MATH  Google Scholar 

  3. 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

  4. 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

  5. Bik AJC, Wijshoff HAG (1994) Implementation of Fourier–Motzkin elimination. Technical report 94-42. Department of Computer Science, Leiden University

  6. Danzig GB (1963) Linear programming and extensions. Princeton University Press, NJ

    Google Scholar 

  7. 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

  8. 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

  9. 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

  10. 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

  11. Nelson G (1981) Techniques for program verification. Technical report. Xerox Palo Alto Research Center (CSL-81-10)

  12. 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

  13. 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

  14. 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

  15. Ruess H, Shankar N (2004) Solving linear arithmetic constraints. Technical Report (SRI-CSL-04-01), SRI

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ofer Strichman.

Additional information

C.B. Jones

Supported by the European Union as part of the FP7 STREP MOGENTES.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-009-0105-z

Keywords

Navigation