A Tutorial on Satisfiability Modulo Theories

(Invited Tutorial)
  • Leonardo de Moura
  • Bruno Dutertre
  • Natarajan Shankar
Conference paper

DOI: 10.1007/978-3-540-73368-3_5

Part of the Lecture Notes in Computer Science book series (LNCS, volume 4590)
Cite this paper as:
de Moura L., Dutertre B., Shankar N. (2007) A Tutorial on Satisfiability Modulo Theories. In: Damm W., Hermanns H. (eds) Computer Aided Verification. CAV 2007. Lecture Notes in Computer Science, vol 4590. Springer, Berlin, Heidelberg

Abstract

Solvers for satisfiability modulo theories (SMT) check the satisfiability of first-order formulas containing operations from various theories such as the Booleans, bit-vectors, arithmetic, arrays, and recursive datatypes. SMT solvers are extensions of Boolean satisfiability solvers (SAT solvers) that check the satisfiability of formulas built from Boolean variables and operations. SMT solvers have a wide range of applications in hardware and software verification, extended static checking, constraint solving, planning, scheduling, test case generation, and computer security. We briefly survey the theory of SAT and SMT solving, and present some of the key algorithms in the form of pseudocode. This tutorial presentation is primarily directed at those who wish to build satisfiability solvers or to use existing solvers more effectively.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Leonardo de Moura
    • 1
  • Bruno Dutertre
    • 2
  • Natarajan Shankar
    • 2
  1. 1.Microsoft Research, 1 Microsoft Way, Redmond WA 98052USA
  2. 2.Computer Science Laboratory, SRI International, Menlo Park CA 94025USA

Personalised recommendations