SMT and OpenSMT-related Resources
General Overview
Wikipedia:
http://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories#SMT_solvers
Foundations
Aaron R. Bradley, Zohar Manna: The Calculus of Computation:
Chapter 1: Propositional Logic ( SAT, DPLL)
Chapter 3: First-Order Theories (Theory of Integers, Arrays, Combination
Theories)
Nieuwenhuis, R.; Oliveras, A.; Tinelli, C. (2006), "Solving SAT and SAT Modulo
Theories: From an Abstract Davis-Putnam-Logemann-Loveland Procedure to
DPLL(T)", Journal of the ACM, 53(6), pp. 937–977.
Yices
Main page:
http://yices.csl.sri.com/
Examples of SMT-problems for yices
(need to be translated to the SMT-LIB standard to be used for OpenSMT)
http://yices.csl.sri.com/examples.shtml
Yices Input Language
http://yices.csl.sri.com/language.shtml
Tool Description:
http://yices.csl.sri.com/tool-paper.pdf
OpenSMT
Main page:
http://verify.inf.unisi.ch/opensmt
Overview: Slides of the tool presentation at TACAS 2010 (pdf) available on
http://verify.inf.unisi.ch/opensmt (bottom)
Precompiled Version: runs on Linux (preferably Ubuntu) and Mac:
http://code.google.com/p/opensmt/downloads/list
Source Code: C++ (gcc/g++),
compiles and runs on Linux (preferably Ubuntu) and Mac:
http://code.google.com/p/opensmt/
Instruction on how to build OpenSMT from Sources
http://code.google.com/p/opensmt/wiki/BuildOpenSMTFromSources
Instructions on how to build an own SMT-solver based on OpenSMT
http://verify.inf.unisi.ch/opensmt/build-your-solver
Further Readings
SMT-LIB, in particular overview of Theories (Ints, Reals,…) and Logics (QF_UL,
QF_IDL,…), Benchmarks (Sample Input Files):
http://combination.cs.uiowa.edu/smtlib/
Easy SMT examples (see also CVCL and CVC3 documentations)
http://www.cs.ubc.ca/~ajh/courses/cpsc513/assign-smt/index.html
Daniel Kroening and Ofer Strichman: Decision Procedures. An Algorithmic Point of
View. Lecture slides and further readings available on
http://www.decision-procedures.org/
MiniSAT:
http://minisat.se/
SMT and Sets: SMT-Lib Version 2 for CBMC:
http://www.cprover.org/SMT-LIB-LSM/
In particular: “Document formalizing the theory” available on that page