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

Size: px
Start display at page:

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

Transcription

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

2 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) { l 3 x := x + 1; l 4 i := i + 1; } assert (x == a + b); 27 th June 2015 Betim Musa Interpolation 2 / 22

3 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) { l 3 x := x + 1; l 4 i := i + 1; } Prove correctness (CEGAR approach) Idea: Show that all traces from l 0 to l err are infeasible. l err assert (x!= a + b); 27 th June 2015 Betim Musa Interpolation 2 / 22

4 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) { l 3 x := x + 1; l 4 i := i + 1; } Prove correctness (CEGAR approach) Idea: Show that all traces from l 0 to l err are infeasible. 1 Choose an error trace τ. 2 Show that τ is infeasible. 3 Compute interpolants for τ. l err assert (x!= a + b); 27 th June 2015 Betim Musa Interpolation 2 / 22

5 Contents A bit of history Interpolation What is an interpolant? Interpolation in Propositional Logic Interpolation in First-Order Logic Conclusion References 27 th June 2015 Betim Musa Interpolation 3 / 22

6 Bit of history W. Craig (1957), Linear reasoning. A new form of the Herbrand-Gentzen theorem 27 th June 2015 Betim Musa Interpolation 4 / 22

7 Bit of history W. Craig (1957), Linear reasoning. A new form of the Herbrand-Gentzen theorem K. L. McMillan (2003), Interpolation and SAT-Based Model Checking 27 th June 2015 Betim Musa Interpolation 4 / 22

8 Bit of history W. Craig (1957), Linear reasoning. A new form of the Herbrand-Gentzen theorem K. L. McMillan (2003), Interpolation and SAT-Based Model Checking A. Cimatti et al. (2007), Efficient Interpolant Generation in SMT 27 th June 2015 Betim Musa Interpolation 4 / 22

9 Contents A bit of history Interpolation What is an interpolant? Interpolation in Propositional Logic Interpolation in First-Order Logic Conclusion References 27 th June 2015 Betim Musa Interpolation 5 / 22

10 Interpolant An interpolant I for the unsatisfiable pair of formulae A,B has the following properties: 27 th June 2015 Betim Musa Interpolation 6 / 22

11 Interpolant An interpolant I for the unsatisfiable pair of formulae A,B has the following properties: A = I 27 th June 2015 Betim Musa Interpolation 6 / 22

12 Interpolant An interpolant I for the unsatisfiable pair of formulae A,B has the following properties: A = I I B is unsatisfiable 27 th June 2015 Betim Musa Interpolation 6 / 22

13 Interpolant An interpolant I for the unsatisfiable pair of formulae A,B has the following properties: A = I I B is unsatisfiable I A and I B (symbol condition) 27 th June 2015 Betim Musa Interpolation 6 / 22

14 Contents A bit of history Interpolation What is an interpolant? Interpolation in Propositional Logic Interpolation in First-Order Logic Conclusion References 27 th June 2015 Betim Musa Interpolation 7 / 22

15 Interpolation in Propositional Logic Ingredients 1 a pair of unsatisfiable formulae A, B 2 a resolution proof of their unsatisfiability 27 th June 2015 Betim Musa Interpolation 8 / 22

16 Interpolation in Propositional Logic Resolution A B {}}{{}}{ Prove unsatisfiability of P ( P R) R 27 th June 2015 Betim Musa Interpolation 9 / 22

17 Interpolation in Propositional Logic Resolution A B {}}{{}}{ Prove unsatisfiability of P ( P R) R P ( P R) R 27 th June 2015 Betim Musa Interpolation 9 / 22

18 Interpolation in Propositional Logic Resolution A B {}}{{}}{ Prove unsatisfiability of P ( P R) R P ( P R) R R 27 th June 2015 Betim Musa Interpolation 9 / 22

19 Interpolation in Propositional Logic Resolution A B {}}{{}}{ Prove unsatisfiability of P ( P R) R P ( P R) R R false 27 th June 2015 Betim Musa Interpolation 9 / 22

20 Interpolation in Propositional Logic Given: unsatisfiable formulae A, B and a proof of unsatisfiability. C 1 C 2... C n v v false 27 th June 2015 Betim Musa Interpolation 10 / 22

21 Interpolation in Propositional Logic Given: unsatisfiable formulae A, B and a proof of unsatisfiability. For every vertex v of the proof define the interpolant ITP(v) as follows: C 1 C 2... C n v v false 27 th June 2015 Betim Musa Interpolation 10 / 22

22 Interpolation in Propositional Logic Given: unsatisfiable formulae A, B and a proof of unsatisfiability. For every vertex v of the proof define the interpolant ITP(v) as follows: if v is an input node C 1 C 2... C n v v false 27 th June 2015 Betim Musa Interpolation 10 / 22

23 Interpolation in Propositional Logic Given: unsatisfiable formulae A, B and a proof of unsatisfiability. For every vertex v of the proof define the interpolant ITP(v) as follows: if v is an input node 1 if v A then ITP(v) = global_literals(v) 2 else ITP(v) = true C 1 C 2... C n v v false 27 th June 2015 Betim Musa Interpolation 10 / 22

24 Interpolation in Propositional Logic Given: unsatisfiable formulae A, B and a proof of unsatisfiability. For every vertex v of the proof define the interpolant ITP(v) as follows: if v is an input node 1 if v A then ITP(v) = global_literals(v) 2 else ITP(v) = true else v must have two predecessors v 1,v 2 and p v is the pivot variable. C 1 C 2... C n v v false 27 th June 2015 Betim Musa Interpolation 10 / 22

25 Interpolation in Propositional Logic Given: unsatisfiable formulae A, B and a proof of unsatisfiability. For every vertex v of the proof define the interpolant ITP(v) as follows: if v is an input node 1 if v A then ITP(v) = global_literals(v) 2 else ITP(v) = true else v must have two predecessors v 1,v 2 and p v is the pivot variable. 1 if p v is local to A, then ITP(v) = ITP(v 1 ) ITP(v 2 ) 2 else ITP(v) = ITP(v 1 ) ITP(v 2 ) C 1 C 2... C n v v false 27 th June 2015 Betim Musa Interpolation 10 / 22

26 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R P ( P R) R R false 27 th June 2015 Betim Musa Interpolation 11 / 22

27 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R ITP(P) = FALSE P ( P R) R R false 27 th June 2015 Betim Musa Interpolation 11 / 22

28 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R ITP(P) = FALSE ITP( P R) = R P ( P R) R R false 27 th June 2015 Betim Musa Interpolation 11 / 22

29 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R P ( P R) R ITP(P) = FALSE ITP( P R) = R ITP( R) = TRUE R false 27 th June 2015 Betim Musa Interpolation 11 / 22

30 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R P ( P R) R R ITP(P) = FALSE ITP( P R) = R ITP( R) = TRUE ITP(R) = ITP(P) ITP( P R) false 27 th June 2015 Betim Musa Interpolation 11 / 22

31 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R P ( P R) R R false ITP(P) = FALSE ITP( P R) = R ITP( R) = TRUE ITP(R) = ITP(P) ITP( P R) ITP(false) = ITP(R) ITP( R) 27 th June 2015 Betim Musa Interpolation 11 / 22

32 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R P ( P R) R R false ITP(P) = FALSE ITP( P R) = R ITP( R) = TRUE ITP(R) = ITP(P) ITP( P R) ITP(false) = ITP(R) ITP( R) 27 th June 2015 Betim Musa Interpolation 11 / 22

33 Interpolation in Propositional Logic Example A B {}}{{}}{ Formula: P ( P R) R P ( P R) R R false ITP(P) = FALSE ITP( P R) = R ITP( R) = TRUE ITP(R) = ITP(P) ITP( P R) ITP(false) = ITP(R) ITP( R) The resulting interpolant: ITP(false) = (FALSE R) TRUE = R 27 th June 2015 Betim Musa Interpolation 11 / 22

34 Contents A bit of history Interpolation What is an interpolant? Interpolation in Propositional Logic Interpolation in First-Order Logic Conclusion References 27 th June 2015 Betim Musa Interpolation 12 / 22

35 Interpolation in First-Order Logic Overview Interesting theories in practice 27 th June 2015 Betim Musa Interpolation 13 / 22

36 Interpolation in First-Order Logic Overview Interesting theories in practice Linear Integer Arithmetic Presburger Arithmetic Equality Theory with Uninterpreted Functions Theory of Arrays Theory of Lists 27 th June 2015 Betim Musa Interpolation 13 / 22

37 Interpolation in First-Order Logic Overview Interesting theories in practice Linear Integer Arithmetic Presburger Arithmetic Equality Theory with Uninterpreted Functions Theory of Arrays Theory of Lists Requirements SAT-Solver (lazy) a theory solver (T-Solver) 27 th June 2015 Betim Musa Interpolation 13 / 22

38 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? 27 th June 2015 Betim Musa Interpolation 14 / 22

39 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 27 th June 2015 Betim Musa Interpolation 14 / 22

40 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 2 Assign a truth value to some variable (SAT-Solver) 27 th June 2015 Betim Musa Interpolation 14 / 22

41 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 2 Assign a truth value to some variable (SAT-Solver) 3 Check the current assignment for consistency (T-solver) 27 th June 2015 Betim Musa Interpolation 14 / 22

42 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 2 Assign a truth value to some variable (SAT-Solver) 3 Check the current assignment for consistency (T-solver) inconsistent, T-solver returns a conflict set η, add its negation as a T-lemma 27 th June 2015 Betim Musa Interpolation 14 / 22

43 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 2 Assign a truth value to some variable (SAT-Solver) 3 Check the current assignment for consistency (T-solver) inconsistent, T-solver returns a conflict set η, add its negation as a T-lemma consistent, go on with assignment of next variable 27 th June 2015 Betim Musa Interpolation 14 / 22

44 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 2 Assign a truth value to some variable (SAT-Solver) 3 Check the current assignment for consistency (T-solver) inconsistent, T-solver returns a conflict set η, add its negation as a T-lemma consistent, go on with assignment of next variable 4 If a truth value is assigned to all variables = SAT 27 th June 2015 Betim Musa Interpolation 14 / 22

45 SMT: Satisfiability Modulo Theory Is a given FOL-formula φ satisfiable with respect to the theory T? Procedure (lazy approach) 1 Encode as a boolean formula φ 2 Assign a truth value to some variable (SAT-Solver) 3 Check the current assignment for consistency (T-solver) inconsistent, T-solver returns a conflict set η, add its negation as a T-lemma consistent, go on with assignment of next variable 4 If a truth value is assigned to all variables = SAT 5 If no assignment left = UNSAT 27 th June 2015 Betim Musa Interpolation 14 / 22

46 SMT-SAT (lazy approach) Illustration φ 27 th June 2015 Betim Musa Interpolation 15 / 22

47 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula 27 th June 2015 Betim Musa Interpolation 15 / 22

48 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula start new assign. SAT-Solver 27 th June 2015 Betim Musa Interpolation 15 / 22

49 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula start new assign. assign some var. SAT-Solver 27 th June 2015 Betim Musa Interpolation 15 / 22

50 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula assign some var. start new assign. SAT-Solver consistent? T-Solver 27 th June 2015 Betim Musa Interpolation 15 / 22

51 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula assign some var. start new assign. SAT-Solver consistent consistent? T-Solver 27 th June 2015 Betim Musa Interpolation 15 / 22

52 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula assign some var. start new assign. SAT-Solver inconsist. (store conflict set) consistent T-Solver consistent? 27 th June 2015 Betim Musa Interpolation 15 / 22

53 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula assign some var. start new assign. all vars. assigned SAT-Solver inconsist. (store conflict set) consistent consistent? SAT T-Solver 27 th June 2015 Betim Musa Interpolation 15 / 22

54 SMT-SAT (lazy approach) Illustration φ φ encode as boolean formula assign some var. start new assign. all vars. assigned SAT-Solver inconsist. (store conflict set) consistent T-Solver consistent? no assignment left SAT UNSAT 27 th June 2015 Betim Musa Interpolation 15 / 22

55 Interpolation in SMT Setting Given two formulae c 1 = x 1 x 2 x 3 and c 2 = x 2 x 3 c 1 c 2 = x 2 x 3 27 th June 2015 Betim Musa Interpolation 16 / 22

56 Interpolation in SMT Setting Given two formulae c 1 = x 1 x 2 x 3 and c 2 = x 2 x 3 c 1 c 2 = x 2 x 3 c 1 \ c 2 = x 1 27 th June 2015 Betim Musa Interpolation 16 / 22

57 Interpolation in SMT Generate an interpolant for the conjunction A B. 27 th June 2015 Betim Musa Interpolation 17 / 22

58 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B 27 th June 2015 Betim Musa Interpolation 17 / 22

59 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) 27 th June 2015 Betim Musa Interpolation 17 / 22

60 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: 27 th June 2015 Betim Musa Interpolation 17 / 22

61 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: if C A, then I C C B 27 th June 2015 Betim Musa Interpolation 17 / 22

62 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: if C A, then I C C B if C B, then I C 27 th June 2015 Betim Musa Interpolation 17 / 22

63 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: if C A, then I C C B if C B, then I C For every inner node C of P obtained by resolution from C 1 = p φ 1,C 2 = p φ 2, 27 th June 2015 Betim Musa Interpolation 17 / 22

64 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: if C A, then I C C B if C B, then I C For every inner node C of P obtained by resolution from C 1 = p φ 1,C 2 = p φ 2, if p / B, then I C I C1 I C2 27 th June 2015 Betim Musa Interpolation 17 / 22

65 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: if C A, then I C C B if C B, then I C For every inner node C of P obtained by resolution from C 1 = p φ 1,C 2 = p φ 2, if p / B, then I C I C1 I C2 else I C I C1 I C2 27 th June 2015 Betim Musa Interpolation 17 / 22

66 Interpolation in SMT Generate an interpolant for the conjunction A B. Compute a proof of unsatisfiability P for A B For every T lemma η in P compute an interpolant I η for (η \ B,η B) For every input clause C in P: if C A, then I C C B if C B, then I C For every inner node C of P obtained by resolution from C 1 = p φ 1,C 2 = p φ 2, if p / B, then I C I C1 I C2 else I C I C1 I C2 Output the interpolant at the root node, namely I 27 th June 2015 Betim Musa Interpolation 17 / 22

67 Conclusion Interpolation an important technique in software verification 27 th June 2015 Betim Musa Interpolation 18 / 22

68 Conclusion Interpolation an important technique in software verification available for many relevant theories (e.g. LIA, Equality with UF, Arrays, Lists) 27 th June 2015 Betim Musa Interpolation 18 / 22

69 Conclusion Interpolation an important technique in software verification available for many relevant theories (e.g. LIA, Equality with UF, Arrays, Lists) research in progress for other theories 27 th June 2015 Betim Musa Interpolation 18 / 22

70 Summary What is interpolation? automatically generalize formulae and preserve relevant parts 27 th June 2015 Betim Musa Interpolation 19 / 22

71 Summary What is interpolation? automatically generalize formulae and preserve relevant parts interpolant (Craig s definition) 27 th June 2015 Betim Musa Interpolation 19 / 22

72 Summary What is interpolation? automatically generalize formulae and preserve relevant parts interpolant (Craig s definition) 27 th June 2015 Betim Musa Interpolation 19 / 22

73 Summary What is interpolation? automatically generalize formulae and preserve relevant parts interpolant (Craig s definition) How does it work? Propositional Logic: resolution proof 27 th June 2015 Betim Musa Interpolation 19 / 22

74 Summary What is interpolation? automatically generalize formulae and preserve relevant parts interpolant (Craig s definition) How does it work? Propositional Logic: resolution proof First-Order Logic: Resolution proof, Theory interpolation 27 th June 2015 Betim Musa Interpolation 19 / 22

75 Future work A theory where no efficient interpolation algorithm exists theory of non-linear integer arithmetic (e.g. x 2 + y 2 = 1) 27 th June 2015 Betim Musa Interpolation 20 / 22

76 References I A. Cimatti, A. Griggio, R. Sebastiani. Efficient Interpolant Generation in SMT. K.L.McMillan. Interpolation and SAT-based Model Checking. Philipp Rümmer Craig Interpolation in SAT and SMT interpolation_philipp.pdf D. Kroening, G. Weissenbacher. Lifting Propositional Interpolants to the Word-Level. 27 th June 2015 Betim Musa Interpolation 21 / 22

77 References II Wikipedia Satisfiability Modulo Theories. Modulo_Theories 27 th June 2015 Betim Musa Interpolation 22 / 22

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

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

LRA Interpolants from No Man s Land. Leonardo Alt, Antti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland

LRA Interpolants from No Man s Land. Leonardo Alt, Antti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland LR Interpolants from No Man s Land Leonardo lt, ntti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland Motivation The goal: Finding the right proof The tool: Make interpolation

More information

Lemma Localization: A Practical Method for Downsizing SMT-Interpolants

Lemma Localization: A Practical Method for Downsizing SMT-Interpolants Lemma Localization: A Practical Method for Downsizing SMT-Interpolants Florian Pigorsch, and Christoph Scholl University of Freiburg, Department of Computer Science, 7911 Freiburg im Breisgau, Germany

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

Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic

Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic Alberto Griggio, Thi Thieu Hoa Le 2, and Roberto Sebastiani 2 FBK-Irst, Trento, Italy 2 DISI, University of Trento, Italy

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

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

Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic

Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic Angelo Brillout, 1 Daniel Kroening, 2 Philipp Rümmer, 3 Thomas Wahl 2 1 ETH Zurich 2 Oxford University 3 Uppsala University Deduction

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

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

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

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

An Introduction to Z3

An Introduction to Z3 An Introduction to Z3 Huixing Fang National Trusted Embedded Software Engineering Technology Research Center April 12, 2017 Outline 1 SMT 2 Z3 Huixing Fang (ECNU) An Introduction to Z3 April 12, 2017 2

More information

Interpolation: Theory and Applications

Interpolation: Theory and Applications Interpolation: Theory and Applications Vijay D Silva Google Inc., San Francisco SAT/SMT Summer School 2015 1 Conceptual Overview 2 A Brief History of Interpolation 3 Interpolant Construction 4 Verification

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

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

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

EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES

EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES EFFICIENT PREDICATE ABSTRACTION OF PROGRAM SUMMARIES Arie Gurfinkel, Sagar Chaki and Samir Sapra Carnegie Mellon Uni In NFM11 Presented by Nimrod Partush OUTLINE Introduction Predicate Abstraction CEGAR

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

Predicate Abstraction: A Tutorial

Predicate Abstraction: A Tutorial Predicate Abstraction: A Tutorial Predicate Abstraction Daniel Kroening May 28 2012 Outline Introduction Existential Abstraction Predicate Abstraction for Software Counterexample-Guided Abstraction Refinement

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

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

Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic

Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic Beyond Quantifier-Free Interpolation in Extensions of Presburger Arithmetic Angelo Brillout 1, Daniel Kroening 2, Philipp Rümmer 2, and Thomas Wahl 2 1 ETH Zurich, Switzerland 2 Oxford University Computing

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

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

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

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

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK

Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation. Himanshu Jain THESIS ORAL TALK Verification using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation Himanshu Jain THESIS ORAL TALK 1 Computer Systems are Pervasive Computer Systems = Software + Hardware Software/Hardware

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

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

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

Overview, cont. Overview, cont. Logistics. Optional Reference #1. Optional Reference #2. Workload and Grading

Overview, cont. Overview, cont. Logistics. Optional Reference #1. Optional Reference #2. Workload and Grading Course staff CS389L: Automated Logical Reasoning Lecture 1: ntroduction and Review of Basics şıl Dillig nstructor: şil Dillig E-mail: isil@cs.utexas.edu Office hours: Thursday after class until 6:30 pm

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

An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic

An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic An Interpolating Sequent Calculus for Quantifier-Free Presburger Arithmetic Angelo Brillout 1, Daniel Kroening 2, Philipp Rümmer 2, and Thomas Wahl 2 1 ETH Zurich, Switzerland 2 Oxford University Computing

More information

SMT and Its Application in Software Verification

SMT and Its Application in Software Verification SMT and Its Application in Software Verification Yu-Fang Chen IIS, Academia Sinica Based on the slides of Barrett, Sanjit, Kroening, Rummer, Sinha, Jhala, and Majumdar Assertion in C int main(){ int x;

More information

Propositional Logic: Models and Proofs

Propositional Logic: Models and Proofs Propositional Logic: Models and Proofs C. R. Ramakrishnan CSE 505 1 Syntax 2 Model Theory 3 Proof Theory and Resolution Compiled at 11:51 on 2016/11/02 Computing with Logic Propositional Logic CSE 505

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

Introduction to Z3. Bow-Yaw Wang. December 19, Institute of Information Science Academia Sinica, Taiwan

Introduction to Z3. Bow-Yaw Wang. December 19, Institute of Information Science Academia Sinica, Taiwan Introduction to Z3 Bow-Yaw Wang Institute of Information Science Academia Sinica, Taiwan December 19, 2017 Bow-Yaw Wang (Academia Sinica) Introduction to Z3 December 19, 2017 1 / 26 Outline 1 Introduction

More information

Interpolant-based Transition Relation Approximation

Interpolant-based Transition Relation Approximation Interpolant-based Transition Relation Approximation Ranjit Jhala and K. L. McMillan 1 University of California, San Diego 2 Cadence Berkeley Labs Abstract. In predicate abstraction, exact image computation

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

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

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

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

Reasoning with Quantified Boolean Formulas

Reasoning with Quantified Boolean Formulas Reasoning with Quantified Boolean Formulas Martina Seidl Institute for Formal Models and Verification Johannes Kepler University Linz 1 What are QBF? Quantified Boolean formulas (QBF) are formulas of propositional

More information

Computation and Inference

Computation and Inference Computation and Inference N. Shankar Computer Science Laboratory SRI International Menlo Park, CA July 13, 2018 Length of the Longest Increasing Subsequence You have a sequence of numbers, e.g., 9, 7,

More information

IC3 and Beyond: Incremental, Inductive Verification

IC3 and Beyond: Incremental, Inductive Verification IC3 and Beyond: Incremental, Inductive Verification Aaron R. Bradley ECEE, CU Boulder & Summit Middle School IC3 and Beyond: Incremental, Inductive Verification 1/62 Induction Foundation of verification

More information

Deductive Verification

Deductive Verification Deductive Verification Mooly Sagiv Slides from Zvonimir Rakamaric First-Order Logic A formal notation for mathematics, with expressions involving Propositional symbols Predicates Functions and constant

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

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

Propositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel

Propositional Logic. Testing, Quality Assurance, and Maintenance Winter Prof. Arie Gurfinkel Propositional Logic Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/

More information

Interpolants from Z3 proofs

Interpolants from Z3 proofs 1 Interpolants from Z3 proofs Kenneth L. McMillan Microsoft Research Abstract Interpolating provers have a number of applications in formal verification, including abstraction refinement and invariant

More information

Symbolic Computation and Theorem Proving in Program Analysis

Symbolic Computation and Theorem Proving in Program Analysis Symbolic Computation and Theorem Proving in Program Analysis Laura Kovács Chalmers Outline Part 1: Weakest Precondition for Program Analysis and Verification Part 2: Polynomial Invariant Generation (TACAS

More information

SAT-Based Verification with IC3: Foundations and Demands

SAT-Based Verification with IC3: Foundations and Demands SAT-Based Verification with IC3: Foundations and Demands Aaron R. Bradley ECEE, CU Boulder & Summit Middle School SAT-Based Verification with IC3:Foundations and Demands 1/55 Induction Foundation of verification

More information

Interpolation: Theory and Applications

Interpolation: Theory and Applications Interpolation: Theory and Applications Vijay D Silva Google Inc., San Francisco Logic Colloquium, U.C. Berkeley 2016 Interpolation Lemma (1957) William Craig in 1988 http://sophos.berkeley.edu/interpolations/

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

Solving Constrained Horn Clauses by Property Directed Reachability

Solving Constrained Horn Clauses by Property Directed Reachability Solving Constrained Horn Clauses by Property Directed Reachability Arie Gurfinkel HCVS 2017: 4 th Workshop on Horn Clauses for Verification and Synthesis Automated Verification Deductive Verification A

More information

Chapter 7 Propositional Satisfiability Techniques

Chapter 7 Propositional Satisfiability Techniques Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau CMSC 722, AI Planning University of Maryland, Spring 2008 1 Motivation Propositional

More information

Critical Reading of Optimization Methods for Logical Inference [1]

Critical Reading of Optimization Methods for Logical Inference [1] Critical Reading of Optimization Methods for Logical Inference [1] Undergraduate Research Internship Department of Management Sciences Fall 2007 Supervisor: Dr. Miguel Anjos UNIVERSITY OF WATERLOO Rajesh

More information

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/

CSE507. Introduction. Computer-Aided Reasoning for Software. Emina Torlak courses.cs.washington.edu/courses/cse507/17wi/ Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/17wi/ Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review of

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

USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT

USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT The present work was submitted to the LuFG Theory of Hybrid Systems BACHELOR OF COMPUTER SCIENCE USING FOURIER-MOTZKIN VARIABLE ELIMINATION FOR MCSAT EXPLANATIONS IN SMT-RAT Lorena Calvo Bartolomé Prüfer:

More information

Solving Quantified Verification Conditions using Satisfiability Modulo Theories

Solving Quantified Verification Conditions using Satisfiability Modulo Theories Solving Quantified Verification Conditions using Satisfiability Modulo Theories Yeting Ge, Clark Barrett, Cesare Tinelli Solving Quantified Verification Conditions using Satisfiability Modulo Theories

More information

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures Curtis Bright University of Waterloo May 13, 2016 1 / 26 Motivation The research areas of SMT [SAT-Modulo-Theories] solving and symbolic computation

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

Applications of Craig Interpolants in Model Checking

Applications of Craig Interpolants in Model Checking Applications of Craig Interpolants in Model Checking K. L. McMillan Cadence Berkeley Labs Abstract. A Craig interpolant for a mutually inconsistent pair of formulas (A, B) is a formula that is (1) implied

More information

Proving Unsatisfiability in Non-linear Arithmetic by Duality

Proving Unsatisfiability in Non-linear Arithmetic by Duality Proving Unsatisfiability in Non-linear Arithmetic by Duality [work in progress] Daniel Larraz, Albert Oliveras, Enric Rodríguez-Carbonell and Albert Rubio Universitat Politècnica de Catalunya, Barcelona,

More information

Exploring Interpolants

Exploring Interpolants Exploring Interpolants Philipp Rümmer, Pavle Subotić Department of Information Technology, Uppsala University, Sweden Abstract Craig Interpolation is a standard method to construct and refine abstractions

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

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

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization

EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization EECS 144/244: Fundamental Algorithms for System Modeling, Analysis, and Optimization Discrete Systems Lecture: State-Space Exploration Stavros Tripakis University of California, Berkeley Stavros Tripakis:

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.

More information

or simply: IC3 A Simplified Description

or simply: IC3 A Simplified Description Incremental Construction of Inductive Clauses for Indubitable Correctness or simply: IC3 A Simplified Description Based on SAT-Based Model Checking without Unrolling Aaron Bradley, VMCAI 2011 Efficient

More information

Practical SAT Solving

Practical SAT Solving Practical SAT Solving Lecture 1 Carsten Sinz, Tomáš Balyo April 24, 2017 NSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz

More information

1 Classical Propositional Logic [20 points]

1 Classical Propositional Logic [20 points] Homework 1 Solutions 15-414/614 : Bug Catching, Spring 2014 1 Classical Propositional Logic [20 points] Let x, y and z be three propositions. (a) (8 points) Show that the two propositional formulas, (x

More information

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak

CSE507. Course Introduction. Computer-Aided Reasoning for Software. Emina Torlak Computer-Aided Reasoning for Software CSE507 courses.cs.washington.edu/courses/cse507/14au/ Course Introduction Emina Torlak emina@cs.washington.edu Today What is this course about? Course logistics Review

More information

Propositional and Predicate Logic - V

Propositional and Predicate Logic - V Propositional and Predicate Logic - V Petr Gregor KTIML MFF UK WS 2016/2017 Petr Gregor (KTIML MFF UK) Propositional and Predicate Logic - V WS 2016/2017 1 / 21 Formal proof systems Hilbert s calculus

More information

Automata-Based String Analysis

Automata-Based String Analysis 1 / 46 Automata-Based String Analysis Model Counting Tevfik Bultan, Abdulbaki Aydin, Lucas Bang Verification Laboratory http://vlab.cs.ucsb.edu Department of Computer Science Overview Overview String Constraints

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

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19

PROPOSITIONAL LOGIC. VL Logik: WS 2018/19 PROPOSITIONAL LOGIC VL Logik: WS 2018/19 (Version 2018.2) Martina Seidl (martina.seidl@jku.at), Armin Biere (biere@jku.at) Institut für Formale Modelle und Verifikation BOX Game: Rules 1. The game board

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

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

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

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

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 2: Propositional Logic

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 2: Propositional Logic Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 2: Propositional Logic Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Propositional Logic 1 / 33 Propositional

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

Chapter 7 Propositional Satisfiability Techniques

Chapter 7 Propositional Satisfiability Techniques Lecture slides for Automated Planning: Theory and Practice Chapter 7 Propositional Satisfiability Techniques Dana S. Nau University of Maryland 12:58 PM February 15, 2012 1 Motivation Propositional satisfiability:

More information

Solving Constrained Horn Clauses using Interpolation

Solving Constrained Horn Clauses using Interpolation Solving Constrained Horn Clauses using Interpolation MSR-TR-2013-6 Kenneth L. McMillan Micrsoft Research Andrey Rybalchenko Technische Universität München Abstract We present an interpolation-based method

More information

Solving Quantified Linear Arithmetic by Counterexample- Guided Instantiation

Solving Quantified Linear Arithmetic by Counterexample- Guided Instantiation Noname manuscript No. (will be inserted by the editor) Solving Quantified Linear Arithmetic by Counterexample- Guided Instantiation Andrew Reynolds Tim King Viktor Kuncak Received: date / Accepted: date

More information

A Collection of Problems in Propositional Logic

A Collection of Problems in Propositional Logic A Collection of Problems in Propositional Logic Hans Kleine Büning SS 2016 Problem 1: SAT (respectively SAT) Instance: A propositional formula α (for SAT in CNF). Question: Is α satisfiable? The problems

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

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013 Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 31. Propositional Logic: DPLL Algorithm Malte Helmert and Gabriele Röger University of Basel April 24, 2017 Propositional Logic: Overview Chapter overview: propositional

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

Motivation. CS389L: Automated Logical Reasoning. Lecture 10: Overview of First-Order Theories. Signature and Axioms of First-Order Theory

Motivation. CS389L: Automated Logical Reasoning. Lecture 10: Overview of First-Order Theories. Signature and Axioms of First-Order Theory Motivation CS389L: Automated Logical Reasoning Lecture 10: Overview of First-Order Theories Işıl Dillig Last few lectures: Full first-order logic In FOL, functions/predicates are uninterpreted (i.e., structure

More information

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 7. Propositional Logic Rational Thinking, Logic, Resolution Joschka Boedecker and Wolfram Burgard and Frank Hutter and Bernhard Nebel Albert-Ludwigs-Universität Freiburg

More information

IC3, PDR, and Friends

IC3, PDR, and Friends IC3, PDR, and Friends Arie Gurfinkel Department of Electrical and Computer Engineering University of Waterloo arie.gurfinkel@uwaterloo.ca Abstract. We describe the IC3/PDR algorithms and their various

More information

Introduction to Solving Combinatorial Problems with SAT

Introduction to Solving Combinatorial Problems with SAT Introduction to Solving Combinatorial Problems with SAT Javier Larrosa December 19, 2014 Overview of the session Review of Propositional Logic The Conjunctive Normal Form (CNF) Modeling and solving combinatorial

More information