lecture2

lecture2 - Satisfiability Modulo Theories Summer School on...

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Satisfiability Modulo Theories Summer School on Formal Methods Menlo College, 2011 Bruno Dutertre and Leonardo de Moura bruno@csl.sri.com, leonardo@microsoft.com SRI International, Microsoft Research SAT/SMT p.1/57 Roadmap Logic Background Modern SAT Solvers DPLL with Theory Solvers Theory Combination Equality Arithmetic Applications SAT/SMT p.2/57 Satisfiability Modulo Theories (SMT) In SMT solving, the Boolean atoms represent constraints over individual theory variables (ranging over integer, reals, bit-vectors, datatypes, arrays, etc.). The constraints can involve theory operations, equality, and inequality. Now, the SAT solver has to interact with theory solvers . The constraint solver can detect conflicts involving theory reasoning, e.g., f ( x ) negationslash = f ( y ) ,x = y , or x y 2 ,y z 1 ,z x 3 . The theory solver must support incremental assertions, efficient backtracking and propagation, and produce efficient explanations of unsatisfiability. SAT/SMT p.3/57 Theory Solver: Examples Equality: x = y (union-find), and offset equalities x = y + k . Term equality: congruence closure for uninterpreted function symbols. Difference constraints: incremental negative cycle detection for inequality constraints of the form x y k . Linear arithmetic: Fouriers method, Simplex. SAT/SMT p.4/57 Theory Solver: Rules We use F | = T G to denote the fact that F entails G in theory T . Abstract DPLL can be extended with two new rules to deal with theory T : T-Propagate M || F = M l ( l 1 ... l n l ) || F if 8 > > > > > < > > > > > : l occurs in F, l is undefined in M, l 1 ... l n | = T l, l 1 ,...,l n lits ( M ) T-Conflict M || F = M || F || l 1 ... l n if 8 < : l 1 ... l n | = T false , l 1 ,...,l n lits ( M ) SAT/SMT p.5/57 DPLL + Theory Solver p 3 < x q x < r x < y s y < || p, q r, s r SAT/SMT p.6/57 DPLL + Theory Solver p 3 < x q x < r x < y s y < || p, q r, s r (UnitPropagate) p p || p, q r, s r SAT/SMT p.6/57 DPLL + Theory Solver p 3 < x q x < r x < y s y < || p, q r, s r (UnitPropagate) p p || p, q r, s r (T-Propagate) p p q p q || p, q r, s r 3 < x bracehtipupleft bracehtipdownrightbracehtipdownleft bracehtipupright p implies x < bracehtipupleft bracehtipdownrightbracehtipdownleft bracehtipupright q SAT/SMT p.6/57 DPLL + Theory Solver p 3 < x q x < r x < y s y < || p, q r, s r (UnitPropagate) p p || p, q r, s r (T-Propagate) p p q p q || p, q r, s r (UnitPropagate) p p q p q r q r || p, q r, s r SAT/SMT p.6/57 DPLL + Theory Solver p 3 < x q x < r x < y s y < || p, q r, s r (UnitPropagate) p p || p, q r, s r (T-Propagate) p p...
View Full Document

Page1 / 182

lecture2 - Satisfiability Modulo Theories Summer School on...

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online