Quantifier Instantiation Techniques for Finite Model Finding in SMT

Size: px
Start display at page:

Download "Quantifier Instantiation Techniques for Finite Model Finding in SMT"

Transcription

1 Quantifier Instantiation Techniques for Finite Model Finding in SMT Andrew Reynolds, Cesare Tinelli Amit Goel, Sava Krstic Morgan Deters, Clark Barrett

2 Satisfiability Modulo Theories (SMT) SMT solvers are powerful tools Used in many formal methods applications Support many background theories Arithmetic, bitvectors, arrays, datatypes, May generate: Proofs Theorem proving, software/hardware verification Models Failing instances of aforementioned applications Invariant synthesis, scheduling, test case generation

3 SMT: Limitations SMT solvers effective handling ground formulas Fast decision procedures for UF, arithmetic, Ongoing challenge: quantified formulas Heuristic methods for answering unsat Limited capability of answering sat Often will return unknown after some effort

4 Contributions Finite Model Finding in SMT Different from ATP finite model finders: Native support for background (ground) theories Different from SMT solvers: Increased ability to answer satisfiable New techniques for: Constructing good candidate models Efficiently checking candidate models

5 DPLL(T) Architecture Formula F F is sat Satisfying assignment A for F UNSAT, proof F is unsat SAT Solver Clauses to add to F Theory Solvers A is T-Inconsistent A is T-Consistent SAT, model

6 DPLL(T) Architecture : Challenge Formula F F is sat Satisfying assignment A for F UNSAT, proof F is unsat SAT Solver Theory Solvers A is T-Consistent SAT, model Clauses to add to F A is T-Inconsistent Challenge: What if determining the consistency of A is difficult? For quantified formulas, determining consistency is undecidable

7 Heuristic Instantiation for Q Formula F F is sat Satisfying assignment A for F (containing Q) UNSAT, proof F is unsat SAT Solver Instances of Q to add to F Theory Solvers Consistency of A is unknown SAT, model If sat assignment contains quantified formula Q, Heuristically add instances of Q to F Typically based on pattern matching May discover refutation, if right instances are added

8 Why Models are Important Verification Condition for P (with quantifiers) UNSAT Property P is verified SMT solver Unknown Candidate Model Manual Inspection

9 Why Models are Important Verification Condition for P (with quantifiers) UNSAT Property P is verified SMT solver Unknown Candidate Model Manual Inspection SAT Concrete counterexample for Property P

10 Model-Based Approach for Quantifiers Given: Set of ground formulas F Set of universally quantified formulas Q To determine the satisfiability of F Q, Construct candidate models for Q, based on satisfying assignments for F Model-Based Quantifier Instantiation (MBQI) [Ge/deMoura 2009]

11 DPLL(T) Architecture (Extended) Ground Formulas F F is sat Satisfying assignment A for F A is T-Consistent Candidate model M Quantified Formulas Q UNSAT, proof else SAT Solver Theory Solvers Model Verifier Clauses to add to F else else SAT, model M M is a model for Q

12 When can we represent/check models for Q? Focus of talk: Finite Model Finding Limited to quantifiers over: Uninterpreted sorts Can represent memory addresses, values, sets, etc. Other finite sorts Fixed width bitvectors, datatypes, Useful in applications: Software/hardware verification

13 Constructing/Checking Candidate Finite Models F Sat assignment A for F (Finite) Candidate model M Q UNSAT, proof Ground Solver Model Verifier Instances of Q to add to F SAT, model M 1. How do we construct good candidate models M? 2. How do we efficiently check if M is a model for Q? If we fail, which instances do we add to F?

14 Constructing Good Candidate Models

15 Constructing Good Candidate Models Naïvely, to determine whether M is model for Q: Check if M satisfies all instances S of Q Challenge: S can be very large For Q with n variables, domain size d, S can be O( d n ) Solutions: Find models with small domain sizes Use theory of finite cardinality constraints [CAV 2013] Only consider instances of Q that are false in M Construct M such that most instances of Q are true

16 Constructing Models : Example F distinct(newyork, Boston, Seattle) travels(person 1, Boston) salesman(person 2 ) salesman(person 3 ) person 1, person 2, person 3 : Person NewYork, Boston, Seattle : City salesman: Person Bool travels : Person City Bool x : Person, y : City. salesman(x) travels(x,y) Q

17 Constructing Models : Example F distinct(newyork, Boston, Seattle) travels(person 1, Boston) salesman(person 2 ) salesman(person 3 ) person 1, person 2, person 3 : Person NewYork, Boston, Seattle : City salesman: Person Bool travels : Person City Bool x : Person, y : City. salesman(x) travels(x,y) Q Interpretation of salesman : salesman(person 2 ), salesman(person 3 ) T, salesman( x 1 ) Interpretation of travels : travels(person 1, Boston) T, travels( x 1, x 2 )

18 Model Representation Represent functions/predicates using defining maps Given sort S with domain V, A defining map for f : S S S is: Set of equations D f of the form f( t 1,, t n ) v, where v V Each t i is either a unique variable or in V If t 1 v 1 and t 2 v 2 D f, unifiable with mgu s, then: s is non-empty t 1 s v D f for some v f( x 1,, x n ) v D f for some v

19 Interpretation in Model Interpretation f( t 1,, t n ) is v, where: t v D f t is most specific generalization of f( t 1,, t n ) among LHS in D f Guaranteed to exist and be unique

20 Constructing Models Defining map D f is a union of: Entailed ground equalities Non-ground equalities for defining default values How to chose default values? Guided by sat assignment for distinguished elements See how one instance is satisfied, generalize this for all

21 Constructing Models : Example F distinct(newyork, Boston, Seattle) travels(person 1, Boston) salesman(person 2 ) salesman(person 3 ) person 1, person 2, person 3 : Person NewYork, Boston, Seattle : City salesman: Person Bool travels : Person City Bool salesman(person 1 ) travels(person 1, NewYork) x : Person, y: City. salesman(x) travels(x,y) Q Instantiate Q with distinguished elements

22 Constructing Models : Example F distinct(newyork, Boston, Seattle) travels(person 1, Boston) salesman(person 2 ) salesman(person 3 ) person 1, person 2, person 3 : Person NewYork, Boston, Seattle : City salesman: Person Bool travels : Person City Bool salesman(person 1 ) travels(person 1, NewYork) x : Person, y: City. salesman(x) travels(x,y) Choose defaults based on distinguished instance Analagous to Inst Gen Calculus [Korovin 2008] T Q D salesman : { salesman(person 2 ), salesman(person 3 ) T, salesman( x 1 ) T } D travels : { travels(person 1, NewYork) T travels(person 1, Boston), travels( x 1, x 2 ) T }

23 Efficiently Checking Candidate Models

24 Checking Candidate Models F Instances of Q to add to F Ground Solver (Finite) Candidate model M Model Verifier SAT, model M Q M is a model for Q To check if M is a model for Q: Naively, add every instance of Q to F Alternatively, only add instances that are false in M Identify sets of instances of Q that are equisatisfiable

25 Checking Candidate Models F distinct(newyork, Boston, Seattle) travels(person 1, Boston) salesman(person 2 ) salesman(person 3 ) person 1, person 2, person 3 : Person NewYork, Boston, Seattle : City salesman: Person Bool travels : Person City Bool x : Person, y: City. salesman(x) travels(x,y) Q D salesman : salesman(person 1 ) travels(person 1, NewYork) { salesman(person 2 ), salesman(person 3 ) T, salesman( x 1 ) T } D travels : { travels(person 1, NewYork) T travels(person 1, Boston), travels( x 1, x 2 ) T } Q[person 1, NewYork] Q[person 1, Boston] Q[person 1, Seattle] Q[person 2, NewYork] Q[person 2, Boston] Q[person 2, Seattle] Q[person 3, NewYork] Q[person 3, Boston] Q[person 3, Seattle]

26 Checking Candidate Models F distinct(newyork, Boston, Seattle) travels(person 1, Boston) salesman(person 2 ) salesman(person 3 ) person 1, person 2, person 3 : Person NewYork, Boston, Seattle : City salesman: Person Bool travels : Person City Bool x : Person, y: City. salesman(x) travels(x,y) Q D salesman : salesman(person 1 ) travels(person 1, NewYork) { salesman(person 2 ), salesman(person 3 ) T, salesman( x 1 ) T } D travels : { travels(person 1, NewYork) T travels(person 1, Boston), travels( x 1, x 2 ) T } Q[person 1, NewYork] Q[person 1, Boston] Q[person 1, Seattle] Q[person 2, NewYork] Q[person 2, Boston] Q[person 2, Seattle] Q[person 3, NewYork] Q[person 3, Boston] Q[person 3, Seattle] true false true true true

27 Enhancement: Heuristic Instantiation Idea: First see if instantiations based on heuristics exist If not, resort to model-based instantiation May lead to: Discovering easy conflicts, if they exist Arriving at model faster Instantiations rule out spurious models

28 DVF Benchmarks Experiments Taken from verification tool DVF used by Intel Both SAT/UNSAT benchmarks SAT benchmarks generated by removing necessary pf assumptions Many theories: UF, arithmetic, arrays, datatypes Quantifiers only over free sorts Memory addresses, Values, Sets, TPTP Benchmarks Isabelle Benchmarks Provable and unprovable goals, contains some arithmetic

29 Results: DVF SAT german refcount agree apg bmk Total Time # z cvc4+i cvc4+f cvc4+fi cvc4+fm cvc4+fmi UNSAT german refcount agree apg bmk Total Time # z cvc4+i cvc4+f cvc4+fi cvc4+fm cvc4+fmi cvc4 : cvc4 with finite model finding (cvc4+f) Effective for answering sat Using heuristic instantiation, solves 4 unsat that cvc4 cannot f : finite model i : heuristic m : model-based

30 Results: TPTP Using techniques described in this work: Of 1995 satisfiable benchmarks: Paradox solves 1305 iprover solves 1231 cvc4 solves 1109 (with model-based instantiation) Includes 2 problems with rating 1.0 Of unsatisfiable benchmarks: z3 solves 5934 cvc4 solves 3028 (with model-based+heuristic instantiation) Orthogonal, 282 cannot be solved by z3 Placed 3 rd in FNT (non-theorem) division of CASC 24

31 Results : TPTP Model-Based Instantiation is often essential Solves where exh. instantiation require >1 billion instances

32 Results: Isabelle SAT Arrow FFT FTA Hoare NS QEP SNorm TwoSq TypeSafe Total z cvc4+i cvc4+f cvc4+fm cvc4+fmi UNSAT Arrow FFT FTA Hoare NS QEP SNorm TwoSq TypeSafe Total z cvc4+i cvc4+f cvc4+fm cvc4+fmi cvc4+fmi solves 244 unsat that z3 cannot, 164 that cvc4 cannot cvc4 : f : finite model i : heuristic m : model-based

33 Summary CVC4 with finite model finding: Constructs good candidate models Incorporates various instantiation strategies Model-based quantifier instantiation Heuristic instantiation (E-matching) Increased ability to answer satisfiable Publicly available:

34 Further Work Further work: Would like to show: Finite model completeness Refutational completeness for certain fragments Improved algorithm for checking candidate models Apply similar techniques to: Bounded integer quantification Datatypes, strings with bounded length

35 Questions? Thank you

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

Finite model finding in satisfiability modulo theories

Finite model finding in satisfiability modulo theories University of Iowa Iowa Research Online Theses and Dissertations Fall 2013 Finite model finding in satisfiability modulo theories Andrew Joseph Reynolds University of Iowa Copyright 2013 Andrew J. Reynolds

More information

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

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

Finding Conflicting Instances of Quantified Formulas in SMT

Finding Conflicting Instances of Quantified Formulas in SMT Finding Conflicting Instances of Quantified Formulas in SMT Andrew Reynolds The University of Iowa Cesare Tinelli The University of Iowa Leonardo de Moura Microsoft Research Abstract In the past decade,

More information

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

Combined Satisfiability Modulo Parametric Theories

Combined Satisfiability Modulo Parametric Theories Intel 07 p.1/39 Combined Satisfiability Modulo Parametric Theories Sava Krstić*, Amit Goel*, Jim Grundy*, and Cesare Tinelli** *Strategic CAD Labs, Intel **The University of Iowa Intel 07 p.2/39 This Talk

More information

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

Linear Arithmetic Satisfiability via Strategy Improvement

Linear Arithmetic Satisfiability via Strategy Improvement Linear Arithmetic Satisfiability via Strategy Improvement Azadeh Farzan 1 Zachary Kincaid 1,2 1 University of Toronto 2 Princeton University July 13, 2016 The problem: satisfiability modulo the theory

More information

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

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

Implementing Branch and Bound Algorithms in SMT. Andrew Reynolds Two Sigma July 12, 2016

Implementing Branch and Bound Algorithms in SMT. Andrew Reynolds Two Sigma July 12, 2016 Implementing Branch and Bound Algorithms in SMT Andrew Reynolds Two Sigma July 12, 2016 Overview Satisfiability Modulo Theories and DPLL(T) Finite Model Finding in SMT Branch and bound for finding small

More information

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

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

12th International Satisfiability Modulo Theories Competition SMT-COMP 2017

12th International Satisfiability Modulo Theories Competition SMT-COMP 2017 12th International Satisfiability Modulo Theories Competition SMT-COMP 2017 Matthias Heizmann (co-organizer) Giles Reger (co-organizer) Tjark Weber (chair) Outline Main changes over last competition Benchmarks

More information

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 DPLL(T ) Theory Solver for a Theory of Strings and Regular Expressions

A DPLL(T ) Theory Solver for a Theory of Strings and Regular Expressions A DPLL(T ) Theory Solver for a Theory of Strings and Regular Expressions Tianyi Liang 1, Andrew Reynolds 1, Cesare Tinelli 1, Clark Barrett 2, and Morgan Deters 2 1 Department of Computer Science, The

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

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

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

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

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

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

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

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

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

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

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

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

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

An efficient SMT solver for string constraints

An efficient SMT solver for string constraints DOI 10.1007/s10703-016-0247-6 An efficient SMT solver for string constraints Tianyi Liang 1,2 Andrew Reynolds 1 Nestan Tsiskaridze 1 Cesare Tinelli 1 Clark Barrett 3 Morgan Deters 3 Springer Science+Business

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

Proof Reconstruction for Z3 in Isabelle/HOL

Proof Reconstruction for Z3 in Isabelle/HOL Proof Reconstruction for Z3 in Isabelle/HOL Sascha Böhme Technische Universität München boehmes@in.tum.de Abstract Currently, only a few Satisfiability Modulo Theories (SMT) solvers are able to produce

More information

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

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

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

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

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

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

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

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

Model Finding for Recursive Functions in SMT

Model Finding for Recursive Functions in SMT Model Finding for Recursive Functions in SMT Andrew Reynolds 1, Jasmin Christian Blanchette 2,3, Simon Cruanes 2, and Cesare Tinelli 1 1 Department of Computer Science, The University of Iowa, USA 2 Inria

More information

Comparing Proof Systems for Linear Real Arithmetic with LFSC

Comparing Proof Systems for Linear Real Arithmetic with LFSC Comparing Proof Systems for Linear Real Arithmetic with LFSC Andrew Reynolds Cesare Tinelli Aaron Stump The University of Iowa Liana Hadarean Yeting Ge Clark Barrett New York University Abstract LFSC is

More information

Relational Constraint Solving in SMT

Relational Constraint Solving in SMT Relational Constraint Solving in SMT Baoluo Meng 1, Andrew Reynolds 1, Cesare Tinelli 1, and Clark Barrett 2 1 Department of Computer Science, The University of Iowa 2 Department of Computer Science, Stanford

More information

Lazy Proofs for DPLL(T)-Based SMT Solvers

Lazy Proofs for DPLL(T)-Based SMT Solvers Lazy Proofs for DPLL(T)-Based SMT Solvers Guy Katz, Clark Barrett New York University Cesare Tinelli, Andrew Reynolds The University of Iowa Liana Hadarean Synopsys Inc. Abstract With the integration of

More information

Complete instantiation for quantified formulas in Satisfiability Modulo Theories

Complete instantiation for quantified formulas in Satisfiability Modulo Theories Complete instantiation for quantified formulas in Satisfiability Modulo Theories Yeting Ge 1 and Leonardo de Moura 2 1 Department of Computer Science, New York University, NY, NY 10012, USA yeting@cs.nyu.edu

More information

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

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

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

Pretending to be an SMT Solver with Vampire (and How We Do Instantiation)

Pretending to be an SMT Solver with Vampire (and How We Do Instantiation) Pretending to be an SMT Solver with Vampire (and How We Do Instantiation) Giles Reger 1, Martin Suda 2, and Andrei Voronkov 1,2 1 School of Computer Science, University of Manchester, UK 2 TU Wien, Vienna,

More information

Satisfiability Modulo Theories

Satisfiability Modulo Theories Satisfiability Modulo Theories 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

Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover

Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover Hierarchic Superposition With Weak Abstraction and the Beagle Theorem Prover Peter Baumgartner NICTA and ANU, Canberra Uwe Waldmann MPI für Informatik, Saarbrücken Goal Automated deduction in hierarchic

More information

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

Satisfiability Modulo Theories

Satisfiability Modulo Theories Satisfiability Modulo Theories Tjark Weber webertj@in.tum.de Oberseminar Statische Analyse November 11, 2004 Satisfiability Modulo Theories p.1/16 Goal To decide the satisfiability of formulas with respect

More information

Decision Procedures for Finite Sets with Cardinality and Local Theory Extensions

Decision Procedures for Finite Sets with Cardinality and Local Theory Extensions Decision Procedures for Finite Sets with Cardinality and Local Theory Extensions by Kshitij Bansal A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy

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

ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints

ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints Peter Baumgartner NICTA, Canberra, Australia PeterBaumgartner@nictacomau Alexander Fuchs Department of Computer Science The University

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

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

ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints

ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints Peter Baumgartner NICTA, Canberra, Australia PeterBaumgartner@nictacomau Alexander Fuchs Department of Computer Science The University

More information

Proof Certificates for SMT-based Model Checkers. Alain Mebsout and Cesare Tinelli SMT 2016 July 2 nd, 2016

Proof Certificates for SMT-based Model Checkers. Alain Mebsout and Cesare Tinelli SMT 2016 July 2 nd, 2016 Proof Certificates for SMT-based Model Checkers Alain Mebsout and Cesare Tinelli SMT 2016 July 2 nd, 2016 Motivation Model checkers return error traces but no evidence when they say yes Complex tools 2

More information

Abstract DPLL and Abstract DPLL Modulo Theories

Abstract DPLL and Abstract DPLL Modulo Theories Abstract DPLL and Abstract DPLL Modulo Theories Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli Abstract. We introduce Abstract DPLL, a general and simple abstract rule-based formulation of the

More information

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

Proof Certificates for SMT-based Model Checkers for Infinite State Systems. Alain Mebsout and Cesare Tinelli FMCAD 2016 October 5 th, 2016

Proof Certificates for SMT-based Model Checkers for Infinite State Systems. Alain Mebsout and Cesare Tinelli FMCAD 2016 October 5 th, 2016 Proof Certificates for SMT-based Model Checkers for Infinite State Systems Alain Mebsout and Cesare Tinelli FMCAD 2016 October 5 th, 2016 Motivation Model checkers return error traces but no evidence when

More information

A Decision Procedure for Separation Logic in SMT

A Decision Procedure for Separation Logic in SMT A Decision Procedure for Separation Logic in SMT Andrew Reynolds 1, Radu Iosif 2, Cristina Serban 2, and Tim King 3 1 The University of Iowa 2 Université de Grenoble Alpes, CNRS, VERIMAG 3 Google Inc.

More information

ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints

ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints ME(LIA) - Model Evolution With Linear Integer Arithmetic Constraints Peter Baumgartner 1, Alexander Fuchs 2, and Cesare Tinelli 2 1 National ICT Australia (NICTA), PeterBaumgartner@nictacomau 2 The University

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

Proofs in Conflict-Driven Theory Combination

Proofs in Conflict-Driven Theory Combination Proofs in Conflict-Driven Theory Combination Maria Paola Bonacina Dipartimento di Informatica Università degli Studi di Verona Verona, Italy mariapaola.bonacina@univr.it Abstract Search-based satisfiability

More information

ArgoCaLyPso SAT-Inspired Coherent Logic Prover

ArgoCaLyPso SAT-Inspired Coherent Logic Prover ArgoCaLyPso SAT-Inspired Coherent Logic Prover Mladen Nikolić and Predrag Janičić Automated Reasoning GrOup (ARGO) Faculty of Mathematics University of, February, 2011. Motivation Coherent logic (CL) (also

More information

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

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

Model Evolution with Equality Modulo Built-in Theories

Model Evolution with Equality Modulo Built-in Theories Model Evolution with Equality Modulo Built-in Theories Peter Baumgartner 1 and Cesare Tinelli 2 1 NICTA and Australian National University, Canberra, Australia 2 The University of Iowa, USA Abstract. Many

More information

Model Evolution Based Theorem Proving

Model Evolution Based Theorem Proving 1 Model Evolution Based Theorem Proving Peter Baumgartner Abstract The area of Automated Theorem Proving is characterized by the development of numerous calculi and proof procedures, from general purpose

More information

Combining Instance Generation and Resolution

Combining Instance Generation and Resolution Combining Instance Generation and Resolution Christopher Lynch and Ralph Eric McGregor Clarkson University www.clarkson.edu/projects/carl Abstract. We present a new inference system for first-order logic,

More information

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

Linear Arithmetic Satisfiability Via Strategy Improvement

Linear Arithmetic Satisfiability Via Strategy Improvement Linear Arithmetic Satisfiability Via Strategy Improvement Azadeh Farzan University of Toronto azadeh@cs.toronto.edu Zachary Kincaid Princeton University zkincaid@cs.princeton.edu Abstract Satisfiability-checking

More information

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

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties Bernd Finkbeiner, Christopher Hahn, and Marvin Stenger Saarland Informatics Campus, Saarland University, Saarbrücken, Germany

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

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

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 3: Practical SAT Solving Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson SAT Solving 1 / 36 Review: Propositional

More information

Solving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T)

Solving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T) Solving SAT and SAT Modulo Theories: From an Abstract Davis Putnam Logemann Loveland Procedure to DPLL(T) ROBERT NIEUWENHUIS AND ALBERT OLIVERAS Technical University of Catalonia, Barcelona, Spain AND

More information

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

IntSat: From SAT to Integer Linear Programming

IntSat: From SAT to Integer Linear Programming IntSat: From SAT to Integer Linear Programming CPAIOR 2015 (invited talk) Robert Nieuwenhuis Barcelogic.com - Computer Science Department BarcelonaTech (UPC) 1 Proposed travel arrangements (next time):

More information

SAT Modulo Linear Arithmetic for Solving Polynomial Constraints

SAT Modulo Linear Arithmetic for Solving Polynomial Constraints jar manuscript No. (will be inserted by the editor) SAT Modulo Linear Arithmetic for Solving Polynomial Constraints Cristina Borralleras Salvador Lucas Albert Oliveras Enric Rodríguez-Carbonell Albert

More information

Complete instantiation for quantified formulas in Satisfiability Modulo Theories

Complete instantiation for quantified formulas in Satisfiability Modulo Theories Complete instantiation for quantified formulas in Satisfiability Modulo Theories Yeting Ge 1 and Leonardo de Moura 2 1 Department of Computer Science, New York University, NY, NY 10012, USA yeting@cs.nyu.edu

More information

A Unified View of Piecewise Linear Neural Network Verification Supplementary Materials

A Unified View of Piecewise Linear Neural Network Verification Supplementary Materials A Unified View of Piecewise Linear Neural Network Verification Supplementary Materials Rudy Bunel University of Oxford rudy@robots.ox.ac.uk Ilker Turkaslan University of Oxford ilker.turkaslan@lmh.ox.ac.uk

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

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

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

Information Flow Analysis via Path Condition Refinement

Information Flow Analysis via Path Condition Refinement Information Flow Analysis via Path Condition Refinement Mana Taghdiri, Gregor Snelting, Carsten Sinz Karlsruhe Institute of Technology, Germany FAST September 16, 2010 KIT University of the State of Baden-Wuerttemberg

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

Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning

Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning Unification with Abstraction and Theory Instantiation in Saturation-Based Reasoning Giles Reger 1(B), Martin Suda 2, and Andrei Voronkov 1,2,3 1 University of Manchester, Manchester, UK giles.reger@manchester.ac.uk

More information

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

SMT and Z3. Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014

SMT and Z3. Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014 SMT and Z3 Nikolaj Bjørner Microsoft Research ReRISE Winter School, Linz, Austria February 5, 2014 Plan Mon An invitation to SMT with Z3 Tue Equalities and Theory Combination Wed Theories: Arithmetic,

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

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

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

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