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

Size: px
Start display at page:

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

Transcription

1 LR Interpolants from No Man s Land Leonardo lt, ntti E. J. Hyvärinen, and Natasha Sharygina University of Lugano, Switzerland

2

3 Motivation The goal: Finding the right proof The tool: Make interpolation on LR more flexible The application: LR for abstractions in software model checking The keywords: SMT solving, function summaries, labeled interpolation systems

4 Interpolants Given two formulas and B such that ^ B!? an interpolant is a formula I such that Vars(I) Vars() \ Vars(B)! I I ^ B!? B

5 Interpolants Given two formulas and B such that ^ B!? an interpolant is a formula I such that Vars(I) Vars() \ Vars(B)! I I ^ B!? I B

6 Interpolants Given two formulas and B such that ^ B!? an interpolant is a formula I such that Vars(I) Vars() \ Vars(B)! I I ^ B!? I I 0 B

7 Interpolants Given two formulas and B such that ^ B!? an interpolant is a formula I such that Vars(I) Vars() \ Vars(B)! I I ^ B!? I I 0 I 00 B

8 Interpolation in Proofs 1. Find a concrete proof for a simple case 2. Generalise the proof 3. Try to prove the general case

9 Interpolation in Proofs 1. Find a concrete proof for a simple case 2. Generalise the proof 3. Try to prove the general case S(x 0 ) {z } ^ T (x 0,x 1 ) ^...^ T (x k 1,x k ) ^ Err(x k ) {z } B B

10 Interpolation in Proofs 1. Find a concrete proof for a simple case 2. Generalise the proof 3. Try to prove the general case S(x 0 ) {z } ^ T (x 0,x 1 ) ^...^ T (x k 1,x k ) ^ Err(x k ) {z } B I(x) ^ T (x, x 0 )! I(x 0 ) I B

11 Example: HiFrog Given a C program and a set of assertions

12 Example: HiFrog Given a C program and a set of assertions 1. Construct a BMC instance of the program

13 Example: HiFrog Given a C program and a set of assertions 1. Construct a BMC instance of the program 2. Check the first assertion against the BMC instance srt 1

14 Example: HiFrog Given a C program and a set of assertions 1. Construct a BMC instance of the program 2. Check the first assertion against the BMC instance 3. Compute an interpolant out of the proof srt 1 I

15 Example: HiFrog Given a C program and a set of assertions 1. Construct a BMC instance of the program 2. Check the first assertion against the BMC instance 3. Compute an interpolant out of the proof 4. Use the interpolant for checking the consequent assertions srt 2 srt 1 I

16 Example: HiFrog Given a C program and a set of assertions 1. Construct a BMC instance of the program 2. Check the first assertion against the BMC instance 3. Compute an interpolant out of the proof 4. Use the interpolant for checking the consequent assertions srt 2... srt 1 I

17 Example: HiFrog Given a C program and a set of assertions 1. Construct a BMC instance of the program 2. Check the first assertion against the BMC instance 3. Compute an interpolant out of the proof 4. Use the interpolant for checking the consequent assertions srt 2... srt 1 I srt n

18 Duality of Interpolants

19 Duality of Interpolants B

20 Duality of Interpolants I 0 B

21 Duality of Interpolants I 0 B

22 What is LR Given a set of linear inequalities over real-valued variables, determine if there are values for the variables that satisfy all the inequalities y 0 0.5x + 3y 2z 5 > y x 2 + 2xy + y 2 > 1 x In 2 dimensions: determine whether half planes have a non-empty intersection

23 Solving LR in SMT Instance Set of LR inequalities ST solver Theory solver determines satisfiability Unsat Unsat n explanation, subset of the LR inequalities Sat The theory solver for LR is based on the Simplex algorithm

24 Simplex in SMT pre-processing step: ll inequalities are written so that left side is a constant and right side a linear expression 0 x + 6y 4z 0.3 x + 2y 1 < x 2y + 3z We end up with two types of entities: Bounds on variables Bounds on sums of the variables The idea is to repeatedly adjust variable 5 > y 4 < y 2 > z 0 x values to satisfy bounds on the sums, and change the role of the variables and the sums y z x

25 Simplex Example 0 0.5x + 3y 2z 0.3 x + 2y 1 < x 2y + 3z x y 2 z

26 Simplex Example < y x y x

27 Simplex Example < y x y x

28 Simplex Example < y x y x

29 Simplex Example < y x y x

30 Simplex Example < y x y x

31 Simplex Example < y x y Just enough to fix the equality x

32 Simplex Example u = 0.5x + 3y 2z < y x y Just enough to fix the equality x

33 Simplex Example u = 0.5x + 3y 2z x = 2u 6y + 4z < y y Just enough to fix the equality x

34 Simplex Example u = 0.5x + 3y 2z x = 2u 6y + 4z < y u y Just enough to fix the equality x

35 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound

36 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound u u v v

37 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound u u v If an expression bound cannot be v satisfied since the variables are at their bounds, the problem is unsatisfiable

38 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound conflict is the unsatisfied expression and the set of expressions currently bounding its variables. u u v If an expression bound cannot be v satisfied since the variables are at their bounds, the problem is unsatisfiable

39 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound conflict is the unsatisfied expression and the set of expressions currently bounding its variables. u u v If an expression bound cannot be v satisfied since the variables are at their bounds, the problem is unsatisfiable (1 > 0.5v u)

40 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound conflict is the unsatisfied expression and the set of expressions currently bounding its variables. u u v If an expression bound cannot be v satisfied since the variables are at their bounds, the problem is unsatisfiable (1 > 0.5v u) (u > 3)

41 Simplex Example fter each adjustment 1. The expressions change 2. One variable is fixed to its bound conflict is the unsatisfied expression and the set of expressions currently bounding its variables. u u v If an expression bound cannot be v satisfied since the variables are at their bounds, the problem is unsatisfiable (1 > 0.5v u) (u > 3) (v < 3)

42 LR Interpolation ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 ssume that (u > 3) B and (v < 3), (1 > 0.5v u).

43 LR Interpolation ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

44 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

45 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 (0.5v u 1) u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

46 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 (0.5v u 1) u + 0.5(3 v) B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

47 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 (0.5v u 1) u + 0.5(3 v) B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

48 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 -u u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

49 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 0 < -u u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

50 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression u < 0.5 bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

51 LR Interpolation The interpolant for is obtained by summing to the expression the bounds in multiplied by their factors in the expression: ssume that the expression u < 0.5 bound that could not be satisfied was 1 > 0.5v u and the bounds for the variables u, v were u > 3 v < 3 u B ssume that (u > 3) B and (v < 3), (1 > 0.5v u). v

52 Duality-based Interpolation for LR Given a primal interpolant I = c1 t(x), the dual interpolant has the form I = c2 < t(x)

53 Duality-based Interpolation for LR Given a primal interpolant I = c1 t(x), the dual interpolant has the form I = c2 < t(x) u B v

54 Duality-based Interpolation for LR Given a primal interpolant I = c1 t(x), the dual interpolant has the form I = c2 < t(x) u B v

55 Duality-based Interpolation for LR Given a primal interpolant I = c1 t(x), the dual interpolant has the form I = c2 < t(x) u B v

56 Duality-based Interpolation for LR Given a primal interpolant I = c1 t(x), the dual interpolant has the form I = c2 < t(x) ll the inequalities of the form c < t(x), c1 c < c2 are also interpolants for u B v

57 Duality-based Interpolation for LR Given a primal interpolant I = c1 t(x), the dual interpolant has the form I = c2 < t(x) ll the inequalities of the form c < t(x), c1 c < c2 are also interpolants for u B I I v

58 Duality-based Interpolation for LR Given a primal interpolant In the I = c1 t(x), the dual interpolant has the form u I = c2 < t(x) B paper ll the inequalities of the form c < t(x), c1 c < c2 are also interpolants for I I v

59 Interpolant Duality Visualized B

60 Interpolant Duality Visualized B c1=t(x) c2=t(x)

61 Interpolant Duality Visualized B Land B c1=t(x) Land c2=t(x)

62 Interpolant Duality Visualized B Land B c1=t(x) No man s land Land c2=t(x)

63 Interpolant Duality Visualized α(c2 c 1 )+c 1 =t(x) B Land B c1=t(x) No man s land Land c2=t(x)

64 Interpolant Duality Visualized α(c2 c 1 )+c 1 =t(x) B Land B c1=t(x) No man s land Land c2=t(x)

65 Experiments on SV-COMP and HiFrog

66 The rchitecture Overview Model Checker OpenSMT B SMT Solver Partitions and B UNST proof Interpolation Module ST/UNST Interpolant Proof analysis Labelling Interpolator Boolean UNST proof statistics Boolean UNST proof Labelling Boolean LR Partitions and B LR Partitions and B LR

67 Implemented in HiFrog SMT Encoder Propositional summaries Sources + ssertions ssertion traversal LR Prop LR summaries Summary refiner ST Interpolating SMT Solver Theory solvers proof proof compressor Error trace Prop ITP Interpolation-based summaries LR ITP ssertion holds

68 Results on SMT-LIB Experiments with three LR labelling functions: Strong: the primal interpolant Weak: the dual interpolant c = 0.5: the interpolant between dual and primal

69 Experiments on HiFrog ITP floppy1 kbfiltr1 diskperf1 mem disk Σ Strong c = Weak Number of HiFrog refinements (fixed propositional ITP algorithm) The difference between minimum and maximum is ~ 15% The c = 0.5 ITP provides the best results

70 Related Work Nikolaj Bjørner, rie Gurfinkel: Property Directed Polyhedral bstraction. VMCI 2015 Pudlák: Lower bounds for resolution and cutting plane proofs and monotone computations. Journal of Symbolic Logic McMillan: n Interpolating Theorem Prover. Theoretical Computer Science D Silva, Kroening, Purandare, and Weissenbacher: Interpolant Strength. VMCI lbarghouthi, McMillan: Beautiful interpolants. CV Dutertre, de Moura: fast linear-arithmetic solver for DPLL(T). Logical Methods in Computer Science lt, Hyvärinen, sadi, and Sharygina: Duality-Based Interpolation for Quantifier-Free Equalities and Uninterpreted Functions. FMCD 2017.

71 Conclusions LR interpolation with controlled strength Provides an infinite family of interpolants based on interpolation duality Integrated into a model checker Future work Better heuristics for the labelling function pply to fix-point computations in other MC applications Implementations available at

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

Controlled and Effective Interpolation

Controlled and Effective Interpolation Controlled and Effective Interpolation Doctoral Dissertation submitted to the Faculty of Informatics of the Università della Svizzera Italiana in partial fulfillment of the requirements for the degree

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

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

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

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

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

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

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

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

Lecture 2: Symbolic Model Checking With SAT

Lecture 2: Symbolic Model Checking With SAT Lecture 2: Symbolic Model Checking With SAT Edmund M. Clarke, Jr. School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 (Joint work over several years with: A. Biere, A. Cimatti, Y.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Selfless Interpolation for Infinite-State Model Checking

Selfless Interpolation for Infinite-State Model Checking Selfless Interpolation for Infinite-State Model Checking Tanja Schindler 1 and Dejan Jovanović 2 1 University of Freiburg 2 SRI International Abstract. We present a new method for interpolation in satisfiability

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

Model Based Theory Combination

Model Based Theory Combination Model Based Theory Combination SMT 2007 Leonardo de Moura and Nikolaj Bjørner {leonardo, nbjorner}@microsoft.com. Microsoft Research Model Based Theory Combination p.1/20 Combination of Theories In practice,

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

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

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang

SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments. Lintao Zhang SAT-Solving: From Davis- Putnam to Zchaff and Beyond Day 3: Recent Developments Requirements for SAT solvers in the Real World Fast & Robust Given a problem instance, we want to solve it quickly Reliable

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

Generalized Property Directed Reachability

Generalized Property Directed Reachability Generalized Property Directed Reachability Kryštof Hoder (1) and Nikolaj Bjørner (2) (1) The University of Manchester (2) Microsoft Research, Redmond Abstract. The IC3 algorithm was recently introduced

More information

Gomory Cuts. Chapter 5. Linear Arithmetic. Decision Procedures. An Algorithmic Point of View. Revision 1.0

Gomory Cuts. Chapter 5. Linear Arithmetic. Decision Procedures. An Algorithmic Point of View. Revision 1.0 Chapter 5 Linear Arithmetic Decision Procedures An Algorithmic Point of View D.Kroening O.Strichman Revision 1.0 Cutting planes Recall that in Branch & Bound we first solve a relaxed problem (i.e., no

More information

SMT Solvers: A Disruptive Technology

SMT Solvers: A Disruptive Technology SMT Solvers: A Disruptive Technology John Rushby Computer Science Laboratory SRI International Menlo Park, California, USA John Rushby, SR I SMT Solvers: 1 SMT Solvers SMT stands for Satisfiability Modulo

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

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 10. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 10 Dr. Ted Ralphs IE406 Lecture 10 1 Reading for This Lecture Bertsimas 4.1-4.3 IE406 Lecture 10 2 Duality Theory: Motivation Consider the following

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

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

An Interpolating Theorem Prover

An Interpolating Theorem Prover An Interpolating Theorem Prover K.L. McMillan Cadence Berkeley Labs Abstract. We present a method of deriving Craig interpolants from proofs in the quantifier-free theory of linear inequality and uninterpreted

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

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

Overview. CS389L: Automated Logical Reasoning. Lecture 7: Validity Proofs and Properties of FOL. Motivation for semantic argument method

Overview. CS389L: Automated Logical Reasoning. Lecture 7: Validity Proofs and Properties of FOL. Motivation for semantic argument method Overview CS389L: Automated Logical Reasoning Lecture 7: Validity Proofs and Properties of FOL Agenda for today: Semantic argument method for proving FOL validity Işıl Dillig Important properties of FOL

More information

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55

Understanding IC3. Aaron R. Bradley. ECEE, CU Boulder & Summit Middle School. Understanding IC3 1/55 Understanding IC3 Aaron R. Bradley ECEE, CU Boulder & Summit Middle School Understanding IC3 1/55 Further Reading This presentation is based on Bradley, A. R. Understanding IC3. In SAT, June 2012. http://theory.stanford.edu/~arbrad

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

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

Incremental Proof-Based Verification of Compiler Optimizations

Incremental Proof-Based Verification of Compiler Optimizations Incremental Proof-Based Verification of Compiler Optimizations Grigory Fedyukovich joint work with Arie Gurfinkel and Natasha Sharygina 5 of May, 2015, Attersee, Austria counter-example change impact Big

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

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

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

SAT-based Model Checking: Interpolation, IC3, and Beyond

SAT-based Model Checking: Interpolation, IC3, and Beyond SAT-based Model Checking: Interpolation, IC3, and Beyond Orna GRUMBERG a, Sharon SHOHAM b and Yakir VIZEL a a Computer Science Department, Technion, Haifa, Israel b School of Computer Science, Academic

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

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

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

Satisfiability Modulo Theories Applications and Challenges

Satisfiability Modulo Theories Applications and Challenges Satisfiability Modulo Theories Applications and Challenges Summer School on Formal Techniques Menlo Park, May 2012 Bruno Dutertre SRI International Leonardo de Moura Microsoft Research Applications of

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

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

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

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

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

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

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

Non-linear Interpolant Generation and Its Application to Program Verification

Non-linear Interpolant Generation and Its Application to Program Verification Non-linear Interpolant Generation and Its Application to Program Verification Naijun Zhan State Key Laboratory of Computer Science, Institute of Software, CAS Joint work with Liyun Dai, Ting Gan, Bow-Yaw

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

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

Interpolation. Proof Reduction

Interpolation. Proof Reduction Interpolation and Proof Reduction Georg Weissenbacher & R. Bloem, S. Malik, M. Schlaipfer EXCAPE 2014 Motivation: Circuit Synthesis designing ICs is hard G. Weissenbacher (TU Wien) Interpolation and Proof

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

Logic and Complexity

Logic and Complexity Logic and Complexity Undecidable (FOL + LIA) Semi Decidable (FOL) NEXPTIME (EPR) PSPACE (QBF) NP (SAT) Logic and Complexity Logic is The Calculus of Computer Science Zohar Manna Practical problems

More information

Exploiting symmetry in SMT problems

Exploiting symmetry in SMT problems Exploiting symmetry in SMT problems David Déharbe, Pascal Fontaine 2, Stephan Merz 2, and Bruno Woltzenlogel Paleo 3 Universidade Federal do Rio Grande do Norte, Natal, RN, Brazil david@dimap.ufrn.br 2

More information

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Summer 2012

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Summer 2012 Decision Procedures Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Summer 2012 Jochen Hoenicke (Software Engineering) Decision Procedures Summer 2012 1 / 28 Quantifier-free Rationals

More information

arxiv:submit/ [cs.lo] 11 May 2018

arxiv:submit/ [cs.lo] 11 May 2018 Solving Quantified Bit-Vectors using Invertibility Conditions Aina Niemetz 1, Mathias Preiner 1, Andrew Reynolds 2, Clark Barrett 1, and Cesare Tinelli 2 arxiv:submit/2258887 [cs.lo] 11 May 2018 1 Stanford

More information

Software Verification with Abstraction-Based Methods

Software Verification with Abstraction-Based Methods Software Verification with Abstraction-Based Methods Ákos Hajdu PhD student Department of Measurement and Information Systems, Budapest University of Technology and Economics MTA-BME Lendület Cyber-Physical

More information

SAT, CSP, and proofs. Ofer Strichman Technion, Haifa. Tutorial HVC 13

SAT, CSP, and proofs. Ofer Strichman Technion, Haifa. Tutorial HVC 13 SAT, CSP, and proofs Ofer Strichman Technion, Haifa Tutorial HVC 13 1 The grand plan for today Intro: the role of SAT, CSP and proofs in verification SAT how it works, and how it produces proofs CSP -

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

A New Decision Procedure for Finite Sets and Cardinality Constraints in SMT

A New Decision Procedure for Finite Sets and Cardinality Constraints in SMT A New Decision Procedure for Finite Sets and Cardinality Constraints in SMT Kshitij Bansal 1, Andrew Reynolds 2, Clark Barrett 1, and Cesare Tinelli 2 1 Department of Computer Science, New York University

More information

Lazy Annotation Revisited

Lazy Annotation Revisited Lazy Annotation Revisited MSR-TR-2014-65 Kenneth L. McMillan Micrsoft Research Abstract Lazy Annotation is a method of software model checking that performs a backtracking search for a symbolic counterexample.

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

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

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

Satisfiability Checking

Satisfiability Checking Satisfiability Checking Interval Constraint Propagation Prof. Dr. Erika Ábrahám RWTH Aachen University Informatik 2 LuFG Theory of Hybrid Systems WS 14/15 Satisfiability Checking Prof. Dr. Erika Ábrahám

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

Boolean algebra. Values

Boolean algebra. Values Boolean algebra 1854 by George Boole in his book An Investigation of the Laws of Thought, is a variant of ordinary elementary algebra differing in its values, operations, and laws. Instead of the usual

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

1 FUNDAMENTALS OF LOGIC NO.10 HERBRAND THEOREM Tatsuya Hagino hagino@sfc.keio.ac.jp lecture URL https://vu5.sfc.keio.ac.jp/slide/ 2 So Far Propositional Logic Logical connectives (,,, ) Truth table Tautology

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

The Potential and Challenges of CAD with Equational Constraints for SC-Square

The Potential and Challenges of CAD with Equational Constraints for SC-Square The Potential and Challenges of with Equational Constraints for SC-Square Matthew England (Coventry University) Joint work with: James H. Davenport (University of Bath) 7th International Conference on

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

On the implementation of a Fuzzy DL Solver over Infinite-Valued Product Logic with SMT Solvers

On the implementation of a Fuzzy DL Solver over Infinite-Valued Product Logic with SMT Solvers On the implementation of a Fuzzy DL Solver over Infinite-Valued Product Logic with SMT Solvers Teresa Alsinet 1, David Barroso 1, Ramón Béjar 1, Félix Bou 2, Marco Cerami 3, and Francesc Esteva 2 1 Department

More information

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39

Bounded Model Checking with SAT/SMT. Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Bounded Model Checking with SAT/SMT Edmund M. Clarke School of Computer Science Carnegie Mellon University 1/39 Recap: Symbolic Model Checking with BDDs Method used by most industrial strength model checkers:

More information

Solving and Verifying Hard Problems using SAT

Solving and Verifying Hard Problems using SAT Solving and Verifying Hard Problems using SAT Marijn J.H. Heule 1/22 SAT Solving and Verification Solving Framework for Hard Problems The Future: Verified SAT via Proofs 2/22 SAT Solving and Verification

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

Formalizing Simplex within Isabelle/HOL

Formalizing Simplex within Isabelle/HOL Formalizing Simplex within Isabelle/HOL Mirko Spasić Filip Marić {mirko filip}@matf.bg.ac.rs Department of Computer Science Faculty of Mathematics University of Belgrade Formal and Automated Theorem Proving

More information

Craig Interpolation and Proof Manipulation

Craig Interpolation and Proof Manipulation Craig Interpolation and Proof Manipulation Theory and Applications to Model Checking Doctoral Dissertation submitted to the Faculty of Informatics of the Università della Svizzera Italiana in partial fulfillment

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

FMCAD 2013 Parameter Synthesis with IC3

FMCAD 2013 Parameter Synthesis with IC3 FMCAD 2013 Parameter Synthesis with IC3 A. Cimatti, A. Griggio, S. Mover, S. Tonetta FBK, Trento, Italy Motivations and Contributions Parametric descriptions of systems arise in many domains E.g. software,

More information