Solving Quantified Verification Conditions using Satisfiability Modulo Theories

Size: px
Start display at page:

Download "Solving Quantified Verification Conditions using Satisfiability Modulo Theories"

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 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 information

Efficient 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 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 information

An Introduction to Satisfiability Modulo Theories

An 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 information

Tutorial 1: Modern SMT Solvers and Verification

Tutorial 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 information

Solving SAT Modulo Theories

Solving 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 information

Introduction to SAT (constraint) solving. Justyna Petke

Introduction 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 information

Foundations of Lazy SMT and DPLL(T)

Foundations 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 information

Satisfiability Modulo Theories

Satisfiability 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 information

Internals of SMT Solvers. Leonardo de Moura Microsoft Research

Internals 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 information

The Eager Approach to SMT. Eager Approach to SMT

The 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 information

WHAT IS AN SMT SOLVER? Jaeheon Yi - April 17, 2008

WHAT 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 information

Quantifier Instantiation Techniques for Finite Model Finding in SMT

Quantifier 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 information

Automated 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 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 information

Finding Conflicting Instances of Quantified Formulas in SMT

Finding 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 information

Topics in Model-Based Reasoning

Topics 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 information

SAT/SMT/AR Introduction and Applications

SAT/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 information

Satisfiability Modulo Theories (SMT)

Satisfiability 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 information

Leonardo de Moura Microsoft Research

Leonardo 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 information

Abstract DPLL and Abstract DPLL Modulo Theories

Abstract 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 information

Pretending 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) 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 information

Satisfiability Modulo Theories

Satisfiability 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 information

Satisfiability Modulo Theories

Satisfiability 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 information

a > 3, (a = b a = b + 1), f(a) = 0, f(b) = 1

a > 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 information

Finite model finding in satisfiability modulo theories

Finite 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 information

Towards Lightweight Integration of SMT Solvers

Towards 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 information

Vinter: A Vampire-Based Tool for Interpolation

Vinter: 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 information

Satisfiability Modulo Theories (SMT)

Satisfiability 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 information

Rewriting for Satisfiability Modulo Theories

Rewriting 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 information

Constraint Solving for Finite Model Finding in SMT Solvers

Constraint 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 information

Complete instantiation for quantified formulas in Satisfiability Modulo Theories

Complete 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 information

Quantifiers. Leonardo de Moura Microsoft Research

Quantifiers. 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 information

Lazy Proofs for DPLL(T)-Based SMT Solvers

Lazy 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 information

Propositional Reasoning

Propositional 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 information

Combining Instance Generation and Resolution

Combining 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 information

CSE507. Satisfiability Modulo Theories. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. 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 information

Leonardo de Moura Microsoft Research

Leonardo 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 information

A Concurrency Problem with Exponential DPLL(T ) Proofs

A 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 information

SMT BASICS WS 2017/2018 ( ) LOGIC SATISFIABILITY MODULO THEORIES. Institute for Formal Models and Verification Johannes Kepler Universität Linz

SMT 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 information

Linear Arithmetic Satisfiability via Strategy Improvement

Linear 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 information

Model Evolution Based Theorem Proving

Model 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 information

Integrating Simplex with DPLL(T )

Integrating 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 information

SAT Solvers: Theory and Practice

SAT 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 information

The Simplify Theorem Prover

The 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 information

Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011

Solvers 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 information

NP-completeness of small conflict set generation for congruence closure

NP-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 information

Nikolaj Bjørner Microsoft Research Tractability Workshop MSR Cambridge July 5, FSE &

Nikolaj 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 information

Combinations of Theories for Decidable Fragments of First-order Logic

Combinations 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 information

Introduction Algorithms Applications MINISAT. Niklas Sörensson Chalmers University of Technology and Göteborg University

Introduction 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 information

UCLID: Deciding Combinations of Theories via Eager Translation to SAT. SAT-based Decision Procedures

UCLID: 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 information

Interpolation and Symbol Elimination in Vampire

Interpolation 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 information

Model-based Theory Combination

Model-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 information

An Introduction to SAT Solving

An 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 information

Congruence-Anticongruence Closure

Congruence-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 information

Introduction to SMT Solving And Infinite Bounded Model Checking

Introduction 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 information

Classical Propositional Logic

Classical 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 information

Experiments and open issues on decision procedures theorem proving and software analysis

Experiments 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 information

CS156: The Calculus of Computation

CS156: 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 information

A 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 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 information

SMT Unsat Core Minimization

SMT 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 information

LOGIC PROPOSITIONAL REASONING

LOGIC 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 information

Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover

Hierarchic 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 information

Propositional Logic: Evaluating the Formulas

Propositional 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 information

Equalities 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. 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 information

Interpolation. Seminar Slides. Betim Musa. 27 th June Albert-Ludwigs-Universität Freiburg

Interpolation. 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 information

38050 Povo Trento (Italy), Via Sommarive 14

38050 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 information

Solving 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) 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 information

Formal Verification Methods 1: Propositional Logic

Formal 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 information

Lecture 2/11: Satisfiability Modulo Theories, Part I

Lecture 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 information

Combined Satisfiability Modulo Parametric Theories

Combined 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 information

SMT: Satisfiability Modulo Theories

SMT: 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 information

Integrating ICP and LRA Solvers for Deciding Nonlinear Real Arithmetic Problems

Integrating 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 information

CS156: The Calculus of Computation Zohar Manna Autumn 2008

CS156: 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 information

Course An Introduction to SAT and SMT. Cap. 2: Satisfiability Modulo Theories

Course 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 information

Warm-Up Problem. Is the following true or false? 1/35

Warm-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 information

Implementing 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 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 information

Automated 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 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 information

Complete instantiation for quantified formulas in Satisfiability Modulo Theories

Complete 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 information

Constraint Logic Programming and Integrating Simplex with DPLL(T )

Constraint 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 information

Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning

Unification 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 information

Scalable 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 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 information

Automated 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 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 information

Formal methods in analysis

Formal 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 information

A 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 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 information

Validating QBF Invalidity in HOL4

Validating 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 information

First-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) 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 information

Symbolic Analysis. Xiangyu Zhang

Symbolic 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 information

Round 9: Satisfiability Modulo Theories, Part II

Round 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 information

12th International Satisfiability Modulo Theories Competition SMT-COMP 2017

12th 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 information

ArgoCaLyPso SAT-Inspired Coherent Logic Prover

ArgoCaLyPso 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 information

Satisfiability Modulo Theories

Satisfiability 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 information

Proof Reconstruction for Z3 in Isabelle/HOL

Proof 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 information

Solving Quantified Bit-Vector Formulas Using Binary Decision Diagrams

Solving 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 information

Don 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 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 information

Chapter 7 R&N ICS 271 Fall 2017 Kalev Kask

Chapter 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 information

First-Order Theorem Proving and Vampire

First-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 information

From SAT To SMT: Part 1. Vijay Ganesh MIT

From 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 information

Integrating a SAT Solver with an LCF-style Theorem Prover

Integrating 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 information

Linear Arithmetic Satisfiability Via Strategy Improvement

Linear 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 information

Developing Efficient SMT Solvers

Developing 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 information

First-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 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