Satisfiability Modulo Theories: An Appetizer

  • Leonardo de Moura
  • Nikolaj Bjørner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5902)


Satisfiability Modulo Theories (SMT) is about checking the satisfiability of logical formulas over one or more theories. The problem draws on a combination of some of the most fundamental areas in computer science. It combines the problem of Boolean satisfiability with domains, such as, those studied in convex optimization and term-manipulating symbolic systems. It also draws on the most prolific problems in the past century of symbolic logic: the decision problem, completeness and incompleteness of logical theories, and finally complexity theory. The problem of modularly combining special purpose algorithms for each domain is as deep and intriguing as finding new algorithms that work particularly well in the context of a combination. SMT also enjoys a very useful role in software engineering. Modern software, hardware analysis and model-based tools are increasingly complex and multi-faceted software systems. However, at their core is invariably a component using symbolic logic for describing states and transformations between them. A well tuned SMT solver that takes into account the state-of-the-art breakthroughs usually scales orders of magnitude beyond custom ad-hoc solvers.


Decision Procedure Conjunctive Normal Form Predicate Symbol Propositional Variable Truth Assignment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bjørner, N., de Moura, L.: \(\mbox{Z3}^{10}\): Applications, Enablers, Challenges and Directions. In: CFV (2009)Google Scholar
  2. 2.
    Barrett, C., de Moura, L., Stump, A.: Design and Results of the 1st Satisfiability Modulo Theories Competition. JAR (2005)Google Scholar
  3. 3.
    McCarthy, J.: Towards a mathematical science of computation. In: IFIP Congress, pp. 21–28 (1962)Google Scholar
  4. 4.
    Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Communications of the ACM (1962)Google Scholar
  5. 5.
    Marques-Silva, J.P., Sakallah, K.A.: GRASP - A New Search Algorithm for Satisfiability. In: ICCAD (1996)Google Scholar
  6. 6.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: DAC (2001)Google Scholar
  7. 7.
    Ge, Y., de Moura, L.: Complete instantiation for quantified SMT formulas. In: CAV (2009)Google Scholar
  8. 8.
    Dutertre, B., de Moura, L.: A Fast Linear-Arithmetic Solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Tarski, A.: A decision method for elementary algebra and geometry. Technical report, 2nd edn. University of California Press, Berkeley (1951)Google Scholar
  10. 10.
    Buchberger, B.: Ein algorithmus zum auffinden der basiselemente des restklassenringes nach einem nulldimensionalen polynomideal. Technical report, Mathematical Institute, University of Innsbruck, Austria (1965)Google Scholar
  11. 11.
    Downey, P.J., Sethi, R., Tarjan, R.E.: Variations on the common subexpression problem. J. ACM 27, 758–771 (1980)zbMATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.R.: A decision procedure for an extensional theory of arrays. In: LICS, pp. 29–37 (2001)Google Scholar
  13. 13.
    Bradley, A.R., Manna, Z., Sipma, H.B.: What’s decidable about arrays? In: Emerson, E.A., Namjoshi, K.S. (eds.) VMCAI 2006. LNCS, vol. 3855, pp. 427–442. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  14. 14.
    de Moura, L., Rueß, H.: Lemmas on Demand for Satisfiability Solvers. In: SAT (2002)Google Scholar
  15. 15.
    Flanagan, C., Joshi, R., Ou, X., Saxe, J.B.: Theorem Proving Using Lazy Proof Explication. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 355–367. Springer, Heidelberg (2003)Google Scholar
  16. 16.
    Barrett, C., Dill, D., Stump, A.: Checking satisfiability of first-order formulas by incremental translation to SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, p. 236. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  17. 17.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT Modulo Theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL(T). J. ACM 53 (2006)Google Scholar
  18. 18.
    Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems 1, 245–257 (1979)zbMATHCrossRefGoogle Scholar
  19. 19.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: Delayed Theory Combination vs. Nelson-Oppen for Satisfiability Modulo Theories: A Comparative Analysis. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS (LNAI), vol. 4246, pp. 527–541. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  20. 20.
    de Moura, L., Bjørner, N.: Model-based theory combination. In: Proc. 5th SMT Workshop, CAV 2007 (2007)Google Scholar
  21. 21.
    Jovanović, D., Barrett, C.: Polite Theories Revisited (to appear, 2009)Google Scholar
  22. 22.
    de Moura, L., Bjørner, N.: Generalized, Efficient Array Decision Procedures (to appear, 2009)Google Scholar
  23. 23.
    Tinelli, C., Ringeissen, C.: Unions of Non-Disjoint Theories and Combinations of Satisfiability Procedures. Theoretical Computer Science (2003)Google Scholar
  24. 24.
    Knuth, D.E., Bendix, P.B.: Simple word problems in universal algebras. Computational Problems in Abstract Algebra (1970)Google Scholar
  25. 25.
    de Moura, L., Bjørner, N.: Engineering DPLL(T) + saturation. In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 475–490. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  26. 26.
    Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: New results on rewrite-based satisfiability procedures. ACM TOCL 10, 129–179 (2009)MathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Leonardo de Moura
    • 1
  • Nikolaj Bjørner
    • 1
  1. 1.Microsoft ResearchRedmondUSA

Personalised recommendations