Solving Quantified Verification Conditions using Satisfiability Modulo Theories
|
|
- Louisa Morrison
- 6 years ago
- Views:
Transcription
1 Solving Quantified Verification Conditions using Satisfiability Modulo Theories Yeting Ge, Clark Barrett, Cesare Tinelli Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.1/27
2 Motivation First order logic provides a convenient formalism for specifying verification conditions Verification conditions often involve arithmetic and other well-established theories Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.2/27
3 Motivation First order logic provides a convenient formalism for specifying verification conditions Verification conditions often involve arithmetic and other well-established theories Approaches to checking verification conditions in first order logic Pure first order Automated Theorem Proving (ATP) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.2/27
4 Motivation First order logic provides a convenient formalism for specifying verification conditions Verification conditions often involve arithmetic and other well-established theories Approaches to checking verification conditions in first order logic Pure first order Automated Theorem Proving (ATP) Good at reasoning about quantified formulas Not so good at theory reasoning Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.2/27
5 Motivation First order logic provides a convenient formalism for specifying verification conditions Verification conditions often involve arithmetic and other well-established theories Approaches to checking verification conditions in first order logic Pure first order Automated Theorem Proving (ATP) Good at reasoning about quantified formulas Not so good at theory reasoning Some useful theories are not finitely axiomatizable Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.2/27
6 Motivation First order logic provides a convenient formalism for specifying verification conditions Verification conditions often involve arithmetic and other well-established theories Approaches to checking verification conditions in first order logic Pure first order Automated Theorem Proving (ATP) Good at reasoning about quantified formulas Not so good at theory reasoning Some useful theories are not finitely axiomatizable Add ad-hoc axioms (Denney et al. IJCAR 2004) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.2/27
7 Motivation First order logic provides a convenient formalism for specifying verification conditions Verification conditions often involve arithmetic and other well-established theories Approaches to checking verification conditions in first order logic Pure first order Automated Theorem Proving (ATP) Good at reasoning about quantified formulas Not so good at theory reasoning Some useful theories are not finitely axiomatizable Add ad-hoc axioms (Denney et al. IJCAR 2004) Are there any alternatives? Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.2/27
8 Motivation Approaches to checking verification conditions in first order logic Automated theorem proving based on Satisfiability Modulo Theories (SMT) A SMT problem is to determine the satisfiability of some formula ϕ with respect to some fixed background theory T Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.3/27
9 Motivation Approaches to checking verification conditions in first order logic Automated theorem proving based on Satisfiability Modulo Theories (SMT) A SMT problem is to determine the satisfiability of some formula ϕ with respect to some fixed background theory T Is Select(Store(arr, i, a), i) a satisfiable? Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.3/27
10 Motivation Approaches to checking verification conditions in first order logic Automated theorem proving based on Satisfiability Modulo Theories (SMT) A SMT problem is to determine the satisfiability of some formula ϕ with respect to some fixed background theory T Is Select(Store(arr, i, a), i) a satisfiable? Many useful background (combined) theories T can be decided by efficient procedures Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.3/27
11 Motivation Approaches to checking verification conditions in first order logic Automated theorem proving based on Satisfiability Modulo Theories (SMT) A SMT problem is to determine the satisfiability of some formula ϕ with respect to some fixed background theory T Is Select(Store(arr, i, a), i) a satisfiable? Many useful background (combined) theories T can be decided by efficient procedures Good at theory reasoning Not so good at quantified formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.3/27
12 Motivation Approaches to checking verification conditions in first order logic Automated theorem proving based on Satisfiability Modulo Theories (SMT) A SMT problem is to determine the satisfiability of some formula ϕ with respect to some fixed background theory T Is Select(Store(arr, i, a), i) a satisfiable? Many useful background (combined) theories T can be decided by efficient procedures Good at theory reasoning Not so good at quantified formulas Exception: Simplify Instantiation based and incomplete Shown to work for practical problems Successful, but no longer supported Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.3/27
13 Outline Quantifier reasoning in SMT SMT solvers and Abstract DPLL Modulo Theories framework Triggers, matching and instantiation Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.4/27
14 Outline Quantifier reasoning in SMT SMT solvers and Abstract DPLL Modulo Theories framework Triggers, matching and instantiation Challenges Trigger selection Instantiation loops Eager and lazy instantiation Irrelevant axioms Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.4/27
15 Outline Quantifier reasoning in SMT SMT solvers and Abstract DPLL Modulo Theories framework Triggers, matching and instantiation Challenges Trigger selection Instantiation loops Eager and lazy instantiation Irrelevant axioms Experimental results Comparison of different heuristics (in CVC3) Comparison of SMT solvers Comparison of ATP and SMT solvers Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.4/27
16 Solver for SMT Modern SMT solvers (lazy) integrate a SAT solver and one or more theory solvers Abstraction SAT Theory Solver UF Arithmetic Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.5/27
17 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
18 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction SAT Solver Theory Solver Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
19 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable Abstraction (a = b) (f(a) = f(b)) b1 : f(a) = f(b) b2 : a = b SAT Solver Theory Solver Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
20 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction b1 : f(a) = f(b) b2 : a = b SAT Solver b2 b1 Theory Solver Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
21 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction b1 : f(a) = f(b) b2 : a = b SAT Solver b2 b1 {b1 = F b2 = T } Theory Solver Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
22 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction b1 : f(a) = f(b) b2 : a = b SAT Solver b2 b1 {b1 = F b2 = T } Theory Solver f(a) f(b) a = b Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
23 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction b1 : f(a) = f(b) b2 : a = b SAT Solver b2 b1 {b1 = F b2 = T } T-unsat Theory Solver f(a) f(b) a = b Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
24 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction b1 : f(a) = f(b) b2 : a = b SAT Solver b2 b1 No more {b1 = F b2 = T } T-unsat Theory Solver f(a) f(b) a = b Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
25 SMT Example To prove (a = b) (f(a) = f(b)) is unsatisfiable (a = b) (f(a) = f(b)) Abstraction b1 : f(a) = f(b) b2 : a = b Unsat SAT Solver b2 b1 No more {b1 = F b2 = T } T-unsat Theory Solver f(a) f(b) a = b Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.6/27
26 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
27 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) SAT Solver Theory Solver Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
28 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) SAT Solver b2 b1 {b1 = F b2 = T } Theory Solver P(3) x.(x > 1 P(x)) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
29 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) SAT Solver b2 b1 {b1 = F b2 = T } Theory Solver P(3) x.(x > 1 P(x)) Instantiate x with 3 Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
30 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) SAT Solver b2 b1 {b1 = F b2 = T } Theory Solver P(3) x.(x > 1 P(x)) Instantiate x with 3 3 > 1 P(3) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
31 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) SAT Solver b2 b1 {b1 = F b2 = T } T-unsat Theory Solver P(3) x.(x > 1 P(x)) Instantiate x with 3 3 > 1 P(3) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
32 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) SAT Solver b2 b1 No more {b1 = F b2 = T } T-unsat Theory Solver P(3) x.(x > 1 P(x)) Instantiate x with 3 3 > 1 P(3) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
33 Quantifier Example To prove P(3) x.(x > 1 P(x)) is unsatisfiable. P(3) x.(x > 1 P(x)) Abstraction b1 : P(3) b2 : x.(x > 1 P(x)) Unsat SAT Solver b2 b1 No more {b1 = F b2 = T } T-unsat Theory Solver P(3) x.(x > 1 P(x)) Instantiate x with 3 3 > 1 P(3) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.7/27
34 Abstract DPLL Modulo Theories Abstract DPLL Modulo Theories is a formalism for DPLL-based smt solvers Describes SMT solvers as transition systems (a set of states and transition rules) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.8/27
35 Abstract DPLL Modulo Theories Abstract DPLL Modulo Theories is a formalism for DPLL-based smt solvers Describes SMT solvers as transition systems (a set of states and transition rules) States: Fail M F (M is a set of literals assumed so far, F is a set of CNF clauses) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.8/27
36 Abstract DPLL Modulo Theories Abstract DPLL Modulo Theories is a formalism for DPLL-based smt solvers Describes SMT solvers as transition systems (a set of states and transition rules) States: Fail M F (M is a set of literals assumed so far, F is a set of CNF clauses) Final state: Fail M F (M is T satisfiable and M = F ) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.8/27
37 Abstract DPLL Modulo Theories Abstract DPLL Modulo Theories is a formalism for DPLL-based smt solvers Describes SMT solvers as transition systems (a set of states and transition rules) States: Fail M F (M is a set of literals assumed so far, F is a set of CNF clauses) Final state: Fail The goal: M F (M is T satisfiable and M = F ) From initial state F 0, derive a final state Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.8/27
38 Example of Transition Rules Unit propagation in SAT UnitPropagate : M F, C l = M l F, C l if M = C l is undefined in M Theory propagation T-Propagate : M F = M l F if M = T l l or l occurs in F l is undefined in M Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.9/27
39 Rules for Quantifier Instantiation An abstract literal is either a literal or a quantified formula ϕ[x/t] denotes the result of substituting t for all free occurrences of x in ϕ Only satisfiability is preserved Inst_ : M F = M F, ( ( x. P) P[x/sk]) if Inst_ : M F = M F, ( ( x. P) P[x/t]) if 8 < : 8 < : x. P is in M sk is a fresh constant. x. P is in M t is a ground term. Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.10/27
40 What to instantiate Suppose φ = x.p(f(x)) is asserted to be true Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.11/27
41 What to instantiate Suppose φ = x.p(f(x)) is asserted to be true Instantiate x with every ground term (naive instantiation) Too many instantiations Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.11/27
42 What to instantiate Suppose φ = x.p(f(x)) is asserted to be true Instantiate x with every ground term (naive instantiation) Too many instantiations Instantiate x with terms relevant to φ If some subterm of φ[x/t] appears in other asserted ground formulas, t is relevant to φ Similar to resolution Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.11/27
43 What to instantiate Suppose φ = x.p(f(x)) is asserted to be true Instantiate x with every ground term (naive instantiation) Too many instantiations Instantiate x with terms relevant to φ If some subterm of φ[x/t] appears in other asserted ground formulas, t is relevant to φ Similar to resolution How to find relevant terms? 1. Select a subterm of φ that contains x, say f(x) 2. If f(x) matches with a ground term that appears in other formulas, say f(a), a is relevant f(x) is called a trigger E unification Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.11/27
44 Challenges Given a set of quantified formulas and ground formulas 1. Select some subterms of a quantified formula as triggers 2. Match triggers with ground terms 3. Instantiate quantified formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.12/27
45 Challenges Given a set of quantified formulas and ground formulas 1. Select some subterms of a quantified formula as triggers 2. Match triggers with ground terms 3. Instantiate quantified formulas Challenges Triggers Matching (equalities, fast matching algorithm) Instantiation Instantiation loops Eager and lazy instantiation Irrelevant axioms Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.12/27
46 Triggers Trigger selection Triggers should contain all bound variables Triggers can have more bound variables than those quantified by outermost quantifiers (Simplify does not allow this) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.13/27
47 Triggers Trigger selection Triggers should contain all bound variables Triggers can have more bound variables than those quantified by outermost quantifiers (Simplify does not allow this) Sometimes no single subterm contains all bound variables Multi-triggers (as in Simplify) Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.13/27
48 Triggers Trigger selection Triggers should contain all bound variables Triggers can have more bound variables than those quantified by outermost quantifiers (Simplify does not allow this) Sometimes no single subterm contains all bound variables Multi-triggers (as in Simplify) Special trigger heuristics Transitivity Anti-symmetry Array index Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.13/27
49 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
50 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
51 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) y.f(3) f(y) = 2 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
52 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) y.f(3) f(y) = 2 f(3) f(sk1) = 2 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
53 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) y.f(3) f(y) = 2 f(3) f(sk1) = 2 f(x) matches f(sk1) 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
54 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) y.f(3) f(y) = 2 f(3) f(sk1) = 2 f(x) matches f(sk1) f(sk2) 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
55 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) y.f(3) f(y) = 2 f(3) f(sk1) = 2 f(x) matches f(sk1) f(sk2) Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
56 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) f(x) is selected as trigger. Suppose f(3) appears somewhere. f(x) matches f(3) y.f(3) f(y) = 2 f(3) f(sk1) = 2 f(x) matches f(sk1) f(sk2) Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.14/27
57 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) 3. Loops due to several formulas Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.15/27
58 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) 3. Loops due to several formulas Loops are not always bad Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.15/27
59 Instantiation Loops Instantiation could introduce loops 1. x.p(f(x),f(g(x))) (Simplify) 2. x.( y.f(x) f(y) = 2) 3. Loops due to several formulas Loops are not always bad We experimented two kinds of loop prevention mechanism Static loop test (as in Simplify) Dynamic loop detection Both are abandoned Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.15/27
60 Eager and lazy instantiation Eager instantiation Instantiate after boolean constraint propagation Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.16/27
61 Eager and lazy instantiation Eager instantiation Instantiate after boolean constraint propagation May find contradictions earlier May introduce useless clauses Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.16/27
62 Eager and lazy instantiation Eager instantiation Instantiate after boolean constraint propagation May find contradictions earlier May introduce useless clauses Lazy instantiation Instantiate when no more possible splits in SAT Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.16/27
63 Eager and lazy instantiation Eager instantiation Instantiate after boolean constraint propagation May find contradictions earlier May introduce useless clauses Lazy instantiation Instantiate when no more possible splits in SAT Instantiate only when necessary May be too late Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.16/27
64 Eager and lazy instantiation Eager instantiation Instantiate after boolean constraint propagation May find contradictions earlier May introduce useless clauses Lazy instantiation Instantiate when no more possible splits in SAT Instantiate only when necessary May be too late Is there a way to have a balance between lazy and eager instantiation? Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.16/27
65 Irrelevant axioms Verification conditions are often of the form Γ ϕ where ϕ is a formula and Γ is a large fixed T -satisfiable collection of (quantified) axioms Many formulas and ground terms in Γ are irrelevant to the proof of unsatisfiability of Γ ϕ Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.17/27
66 Irrelevant axioms Verification conditions are often of the form Γ ϕ where ϕ is a formula and Γ is a large fixed T -satisfiable collection of (quantified) axioms Many formulas and ground terms in Γ are irrelevant to the proof of unsatisfiability of Γ ϕ The solver may spend a lot of resources on irrelevant axioms Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.17/27
67 Irrelevant axioms Verification conditions are often of the form Γ ϕ where ϕ is a formula and Γ is a large fixed T -satisfiable collection of (quantified) axioms Many formulas and ground terms in Γ are irrelevant to the proof of unsatisfiability of Γ ϕ The solver may spend a lot of resources on irrelevant axioms It is difficult to determine whether axioms are relevant or not Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.17/27
68 Irrelevant axioms Verification conditions are often of the form Γ ϕ where ϕ is a formula and Γ is a large fixed T -satisfiable collection of (quantified) axioms Many formulas and ground terms in Γ are irrelevant to the proof of unsatisfiability of Γ ϕ The solver may spend a lot of resources on irrelevant axioms It is difficult to determine whether axioms are relevant or not How to prevent the solver from spending too many resources on irrelevant axioms? Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.17/27
69 Three birds, one stone: Instantiation level Definition of instantiation level IL(g) of ground term g All terms appearing in original problem have an instantiation level of 0 If ground term g matches some trigger of x.p and g has an instantiation level IL(g), then all new terms in P[x/t] (as well as new terms derived from them) have instantiation level of IL(g) + 1. Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.18/27
70 Three birds, one stone: Instantiation level Definition of instantiation level IL(g) of ground term g All terms appearing in original problem have an instantiation level of 0 If ground term g matches some trigger of x.p and g has an instantiation level IL(g), then all new terms in P[x/t] (as well as new terms derived from them) have instantiation level of IL(g) + 1. Only ground terms with an instantiation level less than an upper bound are used in matching Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.18/27
71 Three birds, one stone: Instantiation level Definition of instantiation level IL(g) of ground term g All terms appearing in original problem have an instantiation level of 0 If ground term g matches some trigger of x.p and g has an instantiation level IL(g), then all new terms in P[x/t] (as well as new terms derived from them) have instantiation level of IL(g) + 1. Only ground terms with an instantiation level less than an upper bound are used in matching The upper bound is increased if CVC3 runs out of ground terms Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.18/27
72 Three birds, one stone: Instantiation level Definition of instantiation level IL(g) of ground term g All terms appearing in original problem have an instantiation level of 0 If ground term g matches some trigger of x.p and g has an instantiation level IL(g), then all new terms in P[x/t] (as well as new terms derived from them) have instantiation level of IL(g) + 1. Only ground terms with an instantiation level less than an upper bound are used in matching The upper bound is increased if CVC3 runs out of ground terms Advantages of instantiation levels Neutralizes the harmful effect of instantiation loops Balances the eagerness of instantiations Avoids spending too many resources on irrelevant axioms Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.18/27
73 Experimental Results Test cases are from SMT LIB. AUFLIA/Burns 14 AUFLIA/misc 29 AUFLIA/piVC 42 AUFLIA/RicartAgrawala 14 AUFLIA/simplify 833 AUFLIRA/nasa AUFNIRA/nasa 1561 Only hard cases (5599) are selected AMD Opteron (64 bit), 1G memory, time limit 5 minutes Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.19/27
74 CVC3 with Different Heuristics eager without IL / lazy without IL / IL Category B-E B-L IL-E AUFLIA/Burns AUFLIA/misc AUFLIA/piVC AUFLIA/RicAgla AUFLIA/simplify AUFLIRA/nasa AUFNIRA/nasa Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.20/27
75 CVC3, Yices and Fx7 Yices, version of SMT competition 2006 Fx7, as of Nov 15, 2006 CVC3, version 1.1 fx7 yices CVC3 category #case #valid time #valid time #valid time AUFLIA/Burns AUFLIA/misc AUFLIA/piVC AUFLIA/RicAgla AUFLIA/simplify AUFLIRA/nasa AUFNIRA/nasa N/A N/A Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.21/27
76 SMT and ATP NASA cases Verification conditions of some NASA software Introduced by Denney et al. at IJCAR 2004 Claim: Modern ATPs are powerful enough for practical application in program certification T The first set generated, the hardest T, T prop (e.g. true P ===> true) T eval (e.g. succ(pred(x)) ===> x) T array T policy T array (ad-hoc simplification, the easiest) simplification of T, Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.22/27
77 CVC3, Simplify, SPASS, Vampire Simplify Still one of the best SMT solvers for quantifier reasoning that is publicly available Vampire, version 8.1 One of the best ATPs, won two categories of CASC competition in recent years SPASS, version 2.2 The best ATP in the IJCAR 2004 paper Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.23/27
78 CVC3, Simplify, SPASS, Vampire category #cases Vampire SPASS Simplify CVC3 T T, T prop T eval T array T policy T array total Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.24/27
79 CVC3, Simplify, SPASS, Vampire category Vampire SPASS Simplify CVC3 T T, T prop T eval T array T policy T array total Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.25/27
80 Related works SMT solvers [1] D. Detlefs, G. Nelson, and J. B. Saxe. Simplify: a theorem prover for program checking. J. ACM, 52(3): , [2] B. Dutertre and L. Moura. Yices. yices.csl.sri.com/ [3] M. Moskal. Fx7. nemerle.org/ malekith/smt/en.html SMT benchmarks [4] S. Ranise and C. Tinelli. The satisfiability modulo theories library (SMT-LIB) [5] E. Denney, B. Fischer, and J. Schumann. Using automated theorem provers to certify auto-generated aerospace software. In D. A. Basin and M. Rusinowitch, editors, IJCAR, volume 3097 of Lecture Notes in Computer Science, pages Springer, DPLL(T) [6] H. Ganzinger, G. Hagen, R. Knowings, A. Oliveras, and C. Tinelli. DPLL(T): Fast decision procedures. In R. Alur and D. Peled, editors, Proceedings of the 16th International Conference on Computer Aided Verification, CAV 04 (Boston, Massachusetts), volume 3114 of LUCKS, pages Springer, 2004 Ṡolving Quantified Verification Conditions using Satisfiability Modulo Theories p.26/27
81 Summary Instantiation level heuristic meets several challenges in quantifier reasoning For certain kinds of verification conditions, SMT solvers may be a better choice Future work Efficient multi-trigger matching with equalities Techniques from ATP Solving Quantified Verification Conditions using Satisfiability Modulo Theories p.27/27
Finding Conflicting Instances of Quantified Formulas in SMT. Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014
Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds Cesare Tinelli Leonardo De Moura July 18, 2014 Outline of Talk SMT solvers: Efficient methods for ground constraints Heuristic
More informationEfficient E-matching for SMT Solvers. Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond
Efficient E-matching for SMT Solvers Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond The Z3tting Z3 is an inference engine tailored towards formulas arising from program verification tools
More informationAn Introduction to Satisfiability Modulo Theories
ICCAD 2009 Tutorial p. 1/78 An Introduction to Satisfiability Modulo Theories Clark Barrett and Sanjit Seshia ICCAD 2009 Tutorial p. 2/78 Roadmap Theory Solvers Examples of Theory Solvers Combining Theory
More informationTutorial 1: Modern SMT Solvers and Verification
University of Illinois at Urbana-Champaign Tutorial 1: Modern SMT Solvers and Verification Sayan Mitra Electrical & Computer Engineering Coordinated Science Laboratory University of Illinois at Urbana
More informationSolving SAT Modulo Theories
Solving SAT Modulo Theories R. Nieuwenhuis, A. Oliveras, and C.Tinelli. Solving SAT and SAT Modulo Theories: from an Abstract Davis-Putnam-Logemann-Loveland Procedure to DPLL(T) Mooly Sagiv Motivation
More informationIntroduction to SAT (constraint) solving. Justyna Petke
Introduction to SAT (constraint) solving Justyna Petke SAT, SMT and CSP solvers are used for solving problems involving constraints. The term constraint solver, however, usually refers to a CSP solver.
More informationFoundations of Lazy SMT and DPLL(T)
Foundations of Lazy SMT and DPLL(T) Cesare Tinelli The University of Iowa Foundations of Lazy SMT and DPLL(T) p.1/86 Acknowledgments: Many thanks to Albert Oliveras for contributing some of the material
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Bruno Dutertre SRI International Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 +
More informationInternals of SMT Solvers. Leonardo de Moura Microsoft Research
Internals of SMT Solvers Leonardo de Moura Microsoft Research Acknowledgements Dejan Jovanovic (SRI International, NYU) Grant Passmore (Univ. Edinburgh) Herbrand Award 2013 Greg Nelson What is a SMT Solver?
More informationThe Eager Approach to SMT. Eager Approach to SMT
The Eager Approach to SMT Sanjit A. Seshia UC Berkeley Slides based on ICCAD 09 Tutorial Eager Approach to SMT Input Formula Satisfiability-preserving Boolean Encoder Boolean Formula SAT Solver SAT Solver
More informationWHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008
WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008 WHAT I LL TALK ABOUT Propositional Logic Terminology, Satisfiability, Decision Procedure First-Order Logic Terminology, Background Theories Satisfiability
More informationQuantifier Instantiation Techniques for Finite Model Finding in SMT
Quantifier Instantiation Techniques for Finite Model Finding in SMT Andrew Reynolds, Cesare Tinelli Amit Goel, Sava Krstic Morgan Deters, Clark Barrett Satisfiability Modulo Theories (SMT) SMT solvers
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures
More informationFinding Conflicting Instances of Quantified Formulas in SMT
Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds The University of Iowa Cesare Tinelli The University of Iowa Leonardo de Moura Microsoft Research Abstract In the past decade,
More informationTopics in Model-Based Reasoning
Towards Integration of Proving and Solving Dipartimento di Informatica Università degli Studi di Verona Verona, Italy March, 2014 Automated reasoning Artificial Intelligence Automated Reasoning Computational
More informationSAT/SMT/AR Introduction and Applications
SAT/SMT/AR Introduction and Applications Ákos Hajdu Budapest University of Technology and Economics Department of Measurement and Information Systems 1 Ákos Hajdu About me o PhD student at BME MIT (2016
More informationSatisfiability Modulo Theories (SMT)
CS510 Software Engineering Satisfiability Modulo Theories (SMT) Slides modified from those by Aarti Gupta Textbook: The Calculus of Computation by A. Bradley and Z. Manna 1 Satisfiability Modulo Theory
More informationLeonardo de Moura Microsoft Research
Leonardo de Moura Microsoft Research Is formula F satisfiable modulo theory T? SMT solvers have specialized algorithms for T b + 2 = c and f(read(write(a,b,3), c-2)) f(c-b+1) b + 2 = c and f(read(write(a,b,3),
More informationAbstract DPLL and Abstract DPLL Modulo Theories
Abstract DPLL and Abstract DPLL Modulo Theories Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli Abstract. We introduce Abstract DPLL, a general and simple abstract rule-based formulation of the
More informationPretending to be an SMT Solver with Vampire (and How We Do Instantiation)
Pretending to be an SMT Solver with Vampire (and How We Do Instantiation) Giles Reger 1, Martin Suda 2, and Andrei Voronkov 1,2 1 School of Computer Science, University of Manchester, UK 2 TU Wien, Vienna,
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Tjark Weber webertj@in.tum.de Oberseminar Statische Analyse November 11, 2004 Satisfiability Modulo Theories p.1/16 Goal To decide the satisfiability of formulas with respect
More informationSatisfiability Modulo Theories
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
More informationa > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1
Yeting Ge New York University Leonardo de Moura Microsoft Research a > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1 Dynamic symbolic execution (DART) Extended static checking Test-case generation Bounded model
More informationFinite model finding in satisfiability modulo theories
University of Iowa Iowa Research Online Theses and Dissertations Fall 2013 Finite model finding in satisfiability modulo theories Andrew Joseph Reynolds University of Iowa Copyright 2013 Andrew J. Reynolds
More informationTowards Lightweight Integration of SMT Solvers
Towards Lightweight Integration of SMT Solvers Andrei Lapets Boston University Boston, USA lapets@bu.edu Saber Mirzaei Boston University Boston, USA smirzaei@bu.edu 1 Introduction A large variety of SMT
More informationVinter: A Vampire-Based Tool for Interpolation
Vinter: A Vampire-Based Tool for Interpolation Kryštof Hoder 1, Andreas Holzer 2, Laura Kovács 2, and Andrei Voronkov 1 1 University of Manchester 2 TU Vienna Abstract. This paper describes the Vinter
More informationSatisfiability Modulo Theories (SMT)
Satisfiability Modulo Theories (SMT) Sylvain Conchon Cours 7 / 9 avril 2014 1 Road map The SMT problem Modern efficient SAT solvers CDCL(T) Examples of decision procedures: equality (CC) and difference
More informationRewriting for Satisfiability Modulo Theories
1 Dipartimento di Informatica Università degli Studi di Verona Verona, Italy July 10, 2010 1 Joint work with Chris Lynch (Department of Mathematics and Computer Science, Clarkson University, NY, USA) and
More informationConstraint Solving for Finite Model Finding in SMT Solvers
myjournal manuscript No. (will be inserted by the editor) Constraint Solving for Finite Model Finding in SMT Solvers Andrew Reynolds Cesare Tinelli Clark Barrett Received: date / Accepted: date Abstract
More informationComplete instantiation for quantified formulas in Satisfiability Modulo Theories
Complete instantiation for quantified formulas in Satisfiability Modulo Theories Yeting Ge 1 and Leonardo de Moura 2 1 Department of Computer Science, New York University, NY, NY 10012, USA yeting@cs.nyu.edu
More informationQuantifiers. Leonardo de Moura Microsoft Research
Quantifiers Leonardo de Moura Microsoft Research Satisfiability a > b + 2, a = 2c + 10, c + b 1000 SAT a = 0, b = 3, c = 5 Model 0 > 3 + 2, 0 = 2 5 + 10, 5 + ( 3) 1000 Quantifiers x y x > 0 f x, y = 0
More informationLazy Proofs for DPLL(T)-Based SMT Solvers
Lazy Proofs for DPLL(T)-Based SMT Solvers Guy Katz, Clark Barrett New York University Cesare Tinelli, Andrew Reynolds The University of Iowa Liana Hadarean Synopsys Inc. Abstract With the integration of
More informationPropositional Reasoning
Propositional Reasoning CS 440 / ECE 448 Introduction to Artificial Intelligence Instructor: Eyal Amir Grad TAs: Wen Pu, Yonatan Bisk Undergrad TAs: Sam Johnson, Nikhil Johri Spring 2010 Intro to AI (CS
More informationCombining Instance Generation and Resolution
Combining Instance Generation and Resolution Christopher Lynch and Ralph Eric McGregor Clarkson University www.clarkson.edu/projects/carl Abstract. We present a new inference system for first-order logic,
More informationCSE507. Satisfiability Modulo Theories. Computer-Aided Reasoning for Software. Emina Torlak
Computer-Aided Reasoning for Software CSE507 Satisfiability Modulo Theories courses.cs.washington.edu/courses/cse507/18sp/ Emina Torlak emina@cs.washington.edu Today Last lecture Practical applications
More informationLeonardo de Moura Microsoft Research
Leonardo de Moura Microsoft Research Logic is The Calculus of Computer Science (Z. Manna). High computational complexity Naïve solutions will not scale Is formula F satisfiable modulo theory T? SMT solvers
More informationA Concurrency Problem with Exponential DPLL(T ) Proofs
A Concurrency Problem with Exponential DPLL(T ) Proofs Liana Hadarean 1 Alex Horn 1 Tim King 2 1 University of Oxford 2 Verimag June 5, 2015 2 / 27 Outline SAT/SMT-based Verification Techniques for Concurrency
More informationSMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz
LOGIC SATISFIABILITY MODULO THEORIES SMT BASICS WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität
More informationLinear Arithmetic Satisfiability via Strategy Improvement
Linear Arithmetic Satisfiability via Strategy Improvement Azadeh Farzan 1 Zachary Kincaid 1,2 1 University of Toronto 2 Princeton University July 13, 2016 The problem: satisfiability modulo the theory
More informationModel Evolution Based Theorem Proving
1 Model Evolution Based Theorem Proving Peter Baumgartner Abstract The area of Automated Theorem Proving is characterized by the development of numerous calculi and proof procedures, from general purpose
More informationIntegrating Simplex with DPLL(T )
CSL Technical Report SRI-CSL-06-01 May 23, 2006 Integrating Simplex with DPLL(T ) Bruno Dutertre and Leonardo de Moura This report is based upon work supported by the Defense Advanced Research Projects
More informationSAT Solvers: Theory and Practice
Summer School on Verification Technology, Systems & Applications, September 17, 2008 p. 1/98 SAT Solvers: Theory and Practice Clark Barrett barrett@cs.nyu.edu New York University Summer School on Verification
More informationThe Simplify Theorem Prover
The Simplify Theorem Prover Class Notes for Lecture No.8 by Mooly Sagiv Notes prepared by Daniel Deutch Introduction This lecture will present key aspects in the leading theorem proving systems existing
More informationSolvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber 15-414 Aug 31, 2011 Why study SAT solvers? Many problems reduce to SAT. Formal verification CAD, VLSI Optimization AI, planning, automated
More informationNP-completeness of small conflict set generation for congruence closure
NP-completeness of small conflict set generation for congruence closure Andreas Fellner 1,2, Pascal Fontaine 3, Georg Hofferek 4 and Bruno Woltzenlogel Paleo 2,5 1 IST-Austria, Klosterneuburg (Austria)
More informationNikolaj Bjørner Microsoft Research Tractability Workshop MSR Cambridge July 5, FSE &
Nikolaj Bjørner Microsoft Research Tractability Workshop MSR Cambridge July 5,6 2010 FSE & Z3 An Efficient SMT solver: Overview and Applications. A hands on example of Engineering SMT solvers: Efficient
More informationCombinations of Theories for Decidable Fragments of First-order Logic
Combinations of Theories for Decidable Fragments of First-order Logic Pascal Fontaine Loria, INRIA, Université de Nancy (France) Montreal August 2, 2009 Montreal, August 2, 2009 1 / 15 Context / Motivation
More informationIntroduction Algorithms Applications MINISAT. Niklas Sörensson Chalmers University of Technology and Göteborg University
SAT ALGORITHMS AND APPLICATIONS nik@cschalmersse Chalmers University of Technology and Göteborg University Empirically Successful Classical Automated Reasoning a CADE-20 Workshop 22nd - 23th July, 2005
More informationUCLID: Deciding Combinations of Theories via Eager Translation to SAT. SAT-based Decision Procedures
UCLID: Deciding Combinations of Theories via Eager Translation to SAT Sanjit A. Seshia SAT-based Decision Procedures Input Formula Input Formula Satisfiability-preserving Boolean Encoder Boolean Formula
More informationInterpolation and Symbol Elimination in Vampire
Interpolation and Symbol Elimination in Vampire Kryštof Hoder 1, Laura Kovács 2, and Andrei Voronkov 1 1 University of Manchester 2 TU Vienna Abstract. It has recently been shown that proofs in which some
More informationModel-based Theory Combination
Electronic Notes in Theoretical Computer Science 198 (2008) 37 49 www.elsevier.com/locate/entcs Model-based Theory Combination Leonardo de Moura 1 Nikolaj Bjørner 2 Microsoft Research, One Microsoft Way,
More informationAn Introduction to SAT Solving
An Introduction to SAT Solving Applied Logic for Computer Science UWO December 3, 2017 Applied Logic for Computer Science An Introduction to SAT Solving UWO December 3, 2017 1 / 46 Plan 1 The Boolean satisfiability
More informationCongruence-Anticongruence Closure
Abstract Congruence-Anticongruence Closure Ján Kl uka kluka@fmph.uniba.sk Department of Applied Informatics Faculty of Mathematics, Physics and Informatics Comenius University Bratislava Mlynská dolina
More informationIntroduction to SMT Solving And Infinite Bounded Model Checking
Introduction to SMT Solving And Infinite Bounded Model Checking John Rushby Computer Science Laboratory SRI International Menlo Park, California, USA John Rushby, SR I Introduction to SMT and Infinite
More informationClassical Propositional Logic
Classical Propositional Logic Peter Baumgartner http://users.cecs.anu.edu.au/~baumgart/ Ph: 02 6218 3717 Data61/CSIRO and ANU July 2017 1 / 71 Classical Logic and Reasoning Problems A 1 : Socrates is a
More informationExperiments and open issues on decision procedures theorem proving and software analysis
Experiments and open issues on decision procedures theorem proving and software analysis Maria Paola Bonacina Dipartimento di Informatica Universita`degli Studi di Verona Outline First part: outside in
More informationCS156: The Calculus of Computation
CS156: The Calculus of Computation Zohar Manna Winter 2010 It is reasonable to hope that the relationship between computation and mathematical logic will be as fruitful in the next century as that between
More informationA two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover
A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover K. Rustan M. Leino 0, Madan Musuvathi 0, and Xinming Ou 1 0 Microsoft Research, Redmond, WA, USA {leino,madanm@microsoft.com
More informationSMT Unsat Core Minimization
SMT Unsat Core Minimization O F E R G U T H M A N N, O F E R S T R I C H M A N, A N N A T R O S TA N E T S K I F M C A D 2 0 1 6 1 Satisfiability Modulo Theories Satisfiability Modulo Theories (SMT): decides
More informationLOGIC PROPOSITIONAL REASONING
LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1
More informationHierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover
Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover Peter Baumgartner NICTA and ANU, Canberra Uwe Waldmann MPI für Informatik, Saarbrücken Goal Automated deduction in hierarchic
More informationPropositional Logic: Evaluating the Formulas
Institute for Formal Models and Verification Johannes Kepler University Linz VL Logik (LVA-Nr. 342208) Winter Semester 2015/2016 Propositional Logic: Evaluating the Formulas Version 2015.2 Armin Biere
More informationEqualities and Uninterpreted Functions. Chapter 3. Decision Procedures. An Algorithmic Point of View. Revision 1.0
Equalities and Uninterpreted Functions Chapter 3 Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Outline Decision Procedures Equalities and Uninterpreted Functions
More informationInterpolation. Seminar Slides. Betim Musa. 27 th June Albert-Ludwigs-Universität Freiburg
Interpolation Seminar Slides Albert-Ludwigs-Universität Freiburg Betim Musa 27 th June 2015 Motivation program add(int a, int b) { var x,i : int; l 0 assume(b 0); l 1 x := a; l 2 i := 0; while(i < b) {
More information38050 Povo Trento (Italy), Via Sommarive 14
UNIVERSITY OF TRENTO DEPARTMENT OF INFORMATION AND COMMUNICATION TECHNOLOGY 8050 Povo Trento (Italy), Via Sommarive 4 http://www.dit.unitn.it A Simple and Flexible Way of Computing Small Unsatisfiable
More informationSolving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T)
Solving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T) ROBERT NIEUWENHUIS AND ALBERT OLIVERAS Technical University of Catalonia, Barcelona, Spain AND
More informationFormal Verification Methods 1: Propositional Logic
Formal Verification Methods 1: Propositional Logic John Harrison Intel Corporation Course overview Propositional logic A resurgence of interest Logic and circuits Normal forms The Davis-Putnam procedure
More informationLecture 2/11: Satisfiability Modulo Theories, Part I
EECS 219C: Computer-Aided Verification, Spr 15 Lecturer: S. A. Seshia Lecture 2/11: Satisfiability Modulo Theories, Part I Scribe: Daniel Bundala Editor: Sanjit A. Seshia Satisfiability modulo theories
More informationCombined Satisfiability Modulo Parametric Theories
Intel 07 p.1/39 Combined Satisfiability Modulo Parametric Theories Sava Krstić*, Amit Goel*, Jim Grundy*, and Cesare Tinelli** *Strategic CAD Labs, Intel **The University of Iowa Intel 07 p.2/39 This Talk
More informationSMT: Satisfiability Modulo Theories
SMT: Satisfiability Modulo Theories Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures Last Time Propositional Logic Today 1. Combining SAT and Theory Solvers 2. Theory Solvers Theory of Equality
More informationIntegrating ICP and LRA Solvers for Deciding Nonlinear Real Arithmetic Problems
Integrating ICP and LRA Solvers for Deciding Nonlinear Real Arithmetic Problems Sicun Gao 1,2, Malay Ganai 1, Franjo Ivančić 1, Aarti Gupta 1, Sriram Sankaranarayanan 3, and Edmund M. Clarke 2 1 NEC Labs
More informationCS156: The Calculus of Computation Zohar Manna Autumn 2008
Page 3 of 52 Page 4 of 52 CS156: The Calculus of Computation Zohar Manna Autumn 2008 Lecturer: Zohar Manna (manna@cs.stanford.edu) Office Hours: MW 12:30-1:00 at Gates 481 TAs: Boyu Wang (wangboyu@stanford.edu)
More informationCourse An Introduction to SAT and SMT. Cap. 2: Satisfiability Modulo Theories
Course An Introduction to SAT and SMT Chapter 2: Satisfiability Modulo Theories Roberto Sebastiani DISI, Università di Trento, Italy roberto.sebastiani@unitn.it URL: http://disi.unitn.it/rseba/didattica/sat_based18/
More informationWarm-Up Problem. Is the following true or false? 1/35
Warm-Up Problem Is the following true or false? 1/35 Propositional Logic: Resolution Carmen Bruni Lecture 6 Based on work by J Buss, A Gao, L Kari, A Lubiw, B Bonakdarpour, D Maftuleac, C Roberts, R Trefler,
More informationImplementing Branch and Bound Algorithms in SMT. Andrew Reynolds Two Sigma July 12, 2016
Implementing Branch and Bound Algorithms in SMT Andrew Reynolds Two Sigma July 12, 2016 Overview Satisfiability Modulo Theories and DPLL(T) Finite Model Finding in SMT Branch and bound for finding small
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 7: Procedures for First-Order Theories, Part 1 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures
More informationComplete instantiation for quantified formulas in Satisfiability Modulo Theories
Complete instantiation for quantified formulas in Satisfiability Modulo Theories Yeting Ge 1 and Leonardo de Moura 2 1 Department of Computer Science, New York University, NY, NY 10012, USA yeting@cs.nyu.edu
More informationConstraint Logic Programming and Integrating Simplex with DPLL(T )
Constraint Logic Programming and Integrating Simplex with DPLL(T ) Ali Sinan Köksal December 3, 2010 Constraint Logic Programming Underlying concepts The CLP(X ) framework Comparison of CLP with LP Integrating
More informationUnification with Abstraction and Theory Instantiation in Saturation-Based Reasoning
Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning Giles Reger 1(B), Martin Suda 2, and Andrei Voronkov 1,2,3 1 University of Manchester, Manchester, UK giles.reger@manchester.ac.uk
More informationScalable and Accurate Verification of Data Flow Systems. Cesare Tinelli The University of Iowa
Scalable and Accurate Verification of Data Flow Systems Cesare Tinelli The University of Iowa Overview AFOSR Supported Research Collaborations NYU (project partner) Chalmers University (research collaborator)
More informationAutomated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving
Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional
More informationFormal methods in analysis
Formal methods in analysis Jeremy Avigad Department of Philosophy and Department of Mathematical Sciences Carnegie Mellon University May 2015 Sequence of lectures 1. Formal methods in mathematics 2. Automated
More informationA two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover
A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover K. Rustan M. Leino 0, Madan Musuvathi 0, and Xinming Ou 1 0 Microsoft Research, Redmond, WA, USA {leino,madanm}@microsoft.com
More informationValidating QBF Invalidity in HOL4
Interactive Theorem Proving (ITP) 14 July, 2010 Quantified Boolean Formulae Quantified Boolean Formulae Motivation System Overview Related Work QBF = propositional logic + quantifiers over Boolean variables
More informationFirst-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)
First-Order Theorem Proving and Vampire Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester) Outline Introduction First-Order Logic and TPTP Inference Systems
More informationSymbolic Analysis. Xiangyu Zhang
Symbolic Analysis Xiangyu Zhang What is Symbolic Analysis CS510 S o f t w a r e E n g i n e e r i n g Static analysis considers all paths are feasible Dynamic considers one path or a number of paths Symbolic
More informationRound 9: Satisfiability Modulo Theories, Part II
Round 9: Satisfiability Modulo Theories, Part II Tommi Junttila Aalto University School of Science Department of Computer Science CS-E322 Declarative Programming Spring 218 Tommi Junttila (Aalto University)
More information12th International Satisfiability Modulo Theories Competition SMT-COMP 2017
12th International Satisfiability Modulo Theories Competition SMT-COMP 2017 Matthias Heizmann (co-organizer) Giles Reger (co-organizer) Tjark Weber (chair) Outline Main changes over last competition Benchmarks
More informationArgoCaLyPso SAT-Inspired Coherent Logic Prover
ArgoCaLyPso SAT-Inspired Coherent Logic Prover Mladen Nikolić and Predrag Janičić Automated Reasoning GrOup (ARGO) Faculty of Mathematics University of, February, 2011. Motivation Coherent logic (CL) (also
More informationSatisfiability Modulo Theories
Satisfiability Modulo Theories Clark Barrett and Cesare Tinelli Abstract Satisfiability Modulo Theories (SMT) refers to the problem of determining whether a first-order formula is satisfiable with respect
More informationProof Reconstruction for Z3 in Isabelle/HOL
Proof Reconstruction for Z3 in Isabelle/HOL Sascha Böhme Technische Universität München boehmes@in.tum.de Abstract Currently, only a few Satisfiability Modulo Theories (SMT) solvers are able to produce
More informationSolving Quantified Bit-Vector Formulas Using Binary Decision Diagrams
Solving Quantified Bit-Vector Formulas Using Binary Decision Diagrams Martin Jonáš and Jan Strejček Faculty of Informatics, Masaryk University, Brno, Czech Republic {martin.jonas, strejcek}@mail.muni.cz
More informationDon t care in SMT Building flexible yet efficient abstraction/refinement solvers 1
Don t care in SMT Building flexible yet efficient abstraction/refinement solvers 1 Andreas Bauer, Martin Leucker, Christian Schallhart, Michael Tautschnig Computer Sciences Laboratory, Australian National
More informationChapter 7 R&N ICS 271 Fall 2017 Kalev Kask
Set 6: Knowledge Representation: The Propositional Calculus Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask Outline Representing knowledge using logic Agent that reason logically A knowledge based agent Representing
More informationFirst-Order Theorem Proving and Vampire
First-Order Theorem Proving and Vampire Laura Kovács 1,2 and Martin Suda 2 1 TU Wien 2 Chalmers Outline Introduction First-Order Logic and TPTP Inference Systems Saturation Algorithms Redundancy Elimination
More informationFrom SAT To SMT: Part 1. Vijay Ganesh MIT
From SAT To SMT: Part 1 Vijay Ganesh MIT Software Engineering & SMT Solvers An Indispensable Tactic for Any Strategy Formal Methods Program Analysis SE Goal: Reliable/Secure Software Automatic Testing
More informationIntegrating a SAT Solver with an LCF-style Theorem Prover
Integrating a SAT Solver with an LCF-style Theorem Prover A Fast Decision Procedure for Propositional Logic for the System Tjark Weber webertj@in.tum.de PDPAR 05, July 12, 2005 Integrating a SAT Solver
More informationLinear Arithmetic Satisfiability Via Strategy Improvement
Linear Arithmetic Satisfiability Via Strategy Improvement Azadeh Farzan University of Toronto azadeh@cs.toronto.edu Zachary Kincaid Princeton University zkincaid@cs.princeton.edu Abstract Satisfiability-checking
More informationDeveloping Efficient SMT Solvers
Developing Efficient SMT Solvers CMU May 2007 Leonardo de Moura leonardo@microsoft.com Microsoft Research CMU May 2007 p.1/66 Credits Slides inspired by previous presentations by: Clark Barrett, Harald
More informationFirst-Order Logic First-Order Theories. Roopsha Samanta. Partly based on slides by Aaron Bradley and Isil Dillig
First-Order Logic First-Order Theories Roopsha Samanta Partly based on slides by Aaron Bradley and Isil Dillig Roadmap Review: propositional logic Syntax and semantics of first-order logic (FOL) Semantic
More information