A satisfiability modulo theories solver extends Boolean satisfiability solving with specialized reasoning about mathematical domains. Verification tools translate program conditions into constraints and ask the solver whether a counterexample or valid assignment exists.
Software verifiers can use these solvers to check preconditions, postconditions, invariants and assertions. The result depends on the encoded model and supported theories, so a successful check does not cover behavior omitted from the formal representation.
Acronyms and aliases
SMT checking acronymSMT solver acronym
Related terms
Frequently asked questions
What does satisfiability modulo theories mean?
It asks whether a logical formula can be true while respecting the rules of background theories such as integers, real numbers, arrays or bit vectors.
How do software verifiers use satisfiability modulo theories solvers?
They encode program paths and required properties as constraints, then use the solver to prove conditions or find assignments that demonstrate a violation.