{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

lecture2

# lecture2 - Satisfiability Modulo Theories Summer School on...

This preview shows pages 1–12. Sign up to view the full content.

Satisfiability Modulo Theories Summer School on Formal Methods Menlo College, 2011 Bruno Dutertre and Leonardo de Moura SRI International, Microsoft Research SAT/SMT – p.1/57

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

View Full Document
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

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

View Full Document
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: Fourier’s 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

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

View Full Document
DPLL + Theory Solver p 3 <x q x< 0 r x<y s y< 0 || p, q r, s ∨ ¬ r SAT/SMT – p.6/57
DPLL + Theory Solver p 3 <x q x< 0 r x<y s y< 0 || p, q r, s ∨ ¬ r (UnitPropagate) p p || p, q r, s ∨ ¬ r SAT/SMT – p.6/57

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

View Full Document
DPLL + Theory Solver p 3 <x q x< 0 r x<y s y< 0 || 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< 0 bracehtipupleft bracehtipdownrightbracehtipdownleft bracehtipupright q SAT/SMT – p.6/57
DPLL + Theory Solver p 3 <x q x< 0 r x<y s y< 0 || 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

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

View Full Document
DPLL + Theory Solver p 3 <x q x< 0 r x<y s y< 0 || 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 (UnitPropagate) p p ¬ q ¬ p ∨¬ q r q r s s ∨¬ r || p, q r, s ∨ ¬ r SAT/SMT – p.6/57
DPLL + Theory Solver p 3 <x q x< 0 r x<y s y< 0 || p, q r, s ∨ ¬ r (UnitPropagate) p p || p, q

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

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

### Page1 / 182

lecture2 - Satisfiability Modulo Theories Summer School on...

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

View Full Document
Ask a homework question - tutors are online