A Concurrency Problem with Exponential DPLL(T ) Proofs

Size: px
Start display at page:

Download "A Concurrency Problem with Exponential DPLL(T ) Proofs"

Transcription

1 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 2 / 27 Outline SAT/SMT-based Verification Techniques for Concurrency DPLL(T ) Lower Bound Proof Complexity Theorem A Concurrency Problem with O(N!)-sized DPLL(T ) Proofs Two State-of-the-art Partial-Order Encodings Experiments Concluding Remarks

3 3 / 27 SAT/SMT-based Verification Techniques SAT/SMT solvers are highly optimized decision procedures: φ SAT UNSAT Using these, state-of-the-art symbolic bounded model checker such as CBMC can find concurrency bugs in, and. CBMC: /* insertion sort ascending order */!! #include <stdio.h>!! thread() {! int n, array[1000], c, d, t;! printf("enter %d integers\n", n);! for (c = 0; c < n; c++) {! scanf("%d", &array[c]);! }! for (c = 1 ; c <= n - 1; c++) {! d = c;! while ( d > 0 && array[d] < array[d-1]) {! t = array[d];! array[d] = array[d-1];! array[d-1] = t;! d--;! }! }! }! thread() { printf( Hi there!\n ); }! Par*al- Order Encoding Φ Input Output

4 4 / 27 The Problem Can we pinpoint the challenges (if any) symbolic partial-order encodings of concurrency pose for SAT/SMT solvers? If yes, what insights can we gain?

5 5 / 27 SMT Solvers built on DPLL(T ) assertions Arrays SAT SAT main main CDCL core UF UF LRA LRA conflicts propagations explanations Bit-vectors

6 6 / 27 Fixed-Alphabet DPLL(T ) Proofs The SMT solvers in our experiments are built on the DPLL(T ) framework. A simplified form of DPLL(T ) with only two rules: Propositional resolution (Res); Learning T -valid clauses over the literals of a fixed alphabet of T -atoms (T -learn).

7 7 / 27 Fixed-Alphabet DPLL(T ) Proofs The SMT solvers in our experiments are built on the DPLL(T ) framework. A simplified form of DPLL(T ) with only two rules: Propositional resolution (Res); Learning T -valid clauses over the literals of a fixed alphabet of T -atoms (T -learn). Example: (x < y x = y) y < x where x, y Z. This formula is T -unsatisfiable where T is QF LIA.

8 8 / 27 Fixed-Alphabet DPLL(T ) Proofs A {}}{{}}{{}}{ Example: ( x < y x = y ) y < x B C

9 9 / 27 Fixed-Alphabet DPLL(T ) Proofs A {}}{{}}{{}}{ Example: ( x < y x = y ) y < x B C ( A B }{{}}{{} ) C }{{} (SAT: Yes) ( ) ( )

10 10 / 27 Fixed-Alphabet DPLL(T ) Proofs A {}}{{}}{{}}{ Example: ( x < y x = y ) y < x B C ( A B ) C }{{}}{{}}{{} (A B) C ( A C) (SAT: Yes) (T -learn) ( )

11 11 / 27 Fixed-Alphabet DPLL(T ) Proofs A {}}{{}}{{}}{ Example: ( x < y x = y ) y < x B C ( A B ) C }{{}}{{}}{{} (A B) C ( A C) (SAT: Yes) (T -learn) ( A B ) C ( A C ) (SAT: Yes) }{{}}{{}}{{}}{{}}{{} (A B) C ( A C) ( B C) (T -learn) (Res)

12 12 / 27 Known Challenges for SMT Solvers φ a 1 a 9 8 i=1 (a i = b i b i = a i+1 ) (a i = c i c i = a i+1 ) b 1 b 2 b 3 b 8 a 1 a 2 a 3 a 4... a 8 a 9 c 1 c 2 c 3 c 8

13 13 / 27 Known Challenges for SMT Solvers φ a 1 a 9 8 i=1 (a i = b i b i = a i+1 ) (a i = c i c i = a i+1 ) b 1 b 2 b 3 b 8 a 1 a 2 a 3 a 4... a 8 a 9 c 1 c 2 c 3 c 8

14 14 / 27 Known Challenges for SMT Solvers φ a 1 a 9 8 i=1 (a i = b i b i = a i+1 ) (a i = c i c i = a i+1 ) b 1 b 2 b 3 b 8 a 1 a 2 a 3 a 4... a 8 a 9 c 1 c 2 c 3 c 8

15 15 / 27 Known Challenges for SMT Solvers φ a 1 a 9 8 i=1 (a i = b i b i = a i+1 ) (a i = c i c i = a i+1 ) b 1 b 2 b 3 b 8 a 1 a 2 a 3 a 4... a 8 a 9 c 1 c 2 c 3 c 8

16 Known Challenges for SMT Solvers φ a 1 a 9 8 i=1 (a i = b i b i = a i+1 ) (a i = c i c i = a i+1 ) b 1 b 2 b 3 b 8 a 1 a 2 a 3 a 4... a 8 a 9 c 1 c 2 c 3 c 8 Note that φ is unsatisfiable because a i = a i+1 for all 1 i 8. But DPLL(T ) cannot learn these equalities and enumerates 2 8 theory conflicts instead, the infamous diamonds problem. 1 1 Bjørner, N., Dutertre, B., de Moura, L.: Accelerating Lemma Learning using Joins - DPLL(Join). In: LPAR (2008) 16 / 27

17 17 / 27 Contributions A general framework for establishing lower bounds on the number of T -conflicts in the fixed-alphabet DPLL(T ) calculus; Proof of factorial lower bound proof complexity for two state-of-the-art symbolic partial-order encodings of a simple, yet challenging concurrency problem; Experiments that confirm our theoretical lower bound Ω(N!) Ω(2 N ) 2 4 6

18 18 / 27 DPLL(T ) Lower Bound Proof Complexity Informally, non-interfering set of critical assignments are propositionally satisfying assignments that contain minimal, disjoint T -conflicts. Theorem Let φ be an unsatisfiable T -formula, and Q be a non-interfering set of critical assignments for φ. Every Fixed-Alphabet-DPLL(T ) proof that φ is UNSAT contains at least Q applications of T -learn. This theorem is a theoretical tool for proving lower bound proof complexity results in the DPLL(T ) framework (as exhibited next).

19 The Concurrency Problem The value at memory location x is initialized to zero, i.e. [x] = 0. Thread T 0 Thread T 1 Thread T N local v 0 := [x] local v 1 := [x] local v... N := [x] assert(v 0 N) [x] := v [x] := v N + 1 Thread T 0 Thread T 1 Thread T N r 0 r 1... w 1 r N w N For N = 2, if restricted to T 1 T 2, we get the following interleavings: (1) r 1 ; w 1 ; r 2 ; w 2 (2) r 1 ; r 2 ; w 1 ; w 2 (3) r 1 ; r 2 ; w 2 ; w 1 (4) r 2 ; r 1 ; w 1 ; w 2 (5) r 2 ; r 1 ; w 2 ; w 1 (6) r 2 ; w 2 ; r 1 ; w 1. In general, we get (2N + 1)! 2 N interleavings for T 0 T 1... T N. 19 / 27

20 20 / 27 Concurrency Problem Encoding We define the following preserved-program order (PPO) for the problem challenge T 0 T 1... T N : w init r 0 r 1... r N w 1... w N Let R {r 0,..., r N } and W {w init, w 0,..., w N }. Our partial-order encodings are parameterized by three theories: T C : clock constraints, e.g. c r c w for r R and w W, T S : selection constraints, e.g. s r = s w for r R and w W, T V : read constraints, e.g. rv r is a unique T V -variable for r R.

21 21 / 27 Cubic-size Encoding of Concurrency Problem Let φ 3 be the O(N 3 ) partial-order encoding of T 0 T 1... T N : c winit c rassert c winit c ri c wi (c w c w c w c w ) s w s w i=1...n w,w } {{ } W,w w } {{ } w W,r R PPO WW[x] (c w c r c r c w ) s w = s r rv rassert > N } {{ } w W,r R RW[x] r R w W } {{ } RF TO [x] } {{ } assert(v 0 N) (s w = s r ) c w c r (s winit = s r ) 0 = rv r } {{ } w,w W,r R RF 3 [x] r R } {{ } RF 3 [x] (s w = s r c w c w ) c r c w } {{ } FR[x] i=1...n,r R (s wi = s r ) rv ri + 1 = rv r } {{ } RF 3 [x]

22 Factorial Lower Bound DPLL(T ) Proof Complexity Theorem (Lower Bound for Cubic Partial-Order Encoding) All Fixed-Alphabet-DPLL(T ) proofs for the problem challenge encoded with φ 3 contain at least N! applications of T -learn. We also have a quadratic-size partial-order encoding. 2 This asymptotically smaller encoding has also at least factorial-sized DPLL(T ) proofs for our challenge problem! 2 Horn and Kroening. On Partial Order Semantics for SAT/SMT-based Symbolic Encodings of Weak Memory Concurrency. In: FORTE / 27

23 23 / 27 Experiments with Two Partial-Order Encodings E 3 and E 2 are partial-order encodings of asymptotically different size, parameterized by three theories T C, T S and T V. We instantiate T C, T S, T V to four configurations: 1. real-clk-int-val : T C = T S = T R and T V = T Z 2. bv-clk-int-val : T C = T S = T BV and T V = T Z 3. real-clk-bv-val : T C = T S = T R and T V = T BV 4. bv-clk-bv-val : T C = T S = T BV and T V = T BV We use the following SMT solvers: Boolector, CVC4, Yices2, Z3. Example: z3-bv-clk-int-val-e 2 denotes experiments with the O(N 2 ) encoding using Z3 where T C = T S = T BV and T V = T Z. We have a total of 56 SMT-LIB benchmarks. Timeout is 1 hour.

24 24 / 27 Experimental Results cvc4-real-clk-int-val-{e 3, E 2 } Number of SAT conflicts N! cvc4-real-clk-bv-val-{e 3, E 2 } cvc4-bv-clk-int-val-{e 3, E 2 } cvc4-bv-clk-bv-val-{e 3, E 2 } z3-real-clk-int-val-{e 3, E 2 } z3-real-clk-bv-val-{e 3, E 2 } z3-bv-clk-int-val-{e 3, E 2 } z3-bv-clk-bv-val-{e 3, E 2 } yices-real-clk-int-val-{e 3, E 2 } Number of threads (N) yices-bv-clk-bv-val-{e 3, E 2 } boolector-bv-clk-bv-val-{e 3, E 2 } Factorial growth of conflicts in fkp2013-unsat benchmark.

25 25 / 27 Concluding Remarks We have studied a simple, yet challenging concurrency problem. Our experiments provide an important diagnostic practice in the development of SMT encodings. The proofs we have manually inspected in CVC4 pinpoint value constraints as culprits. This way, our experiments can guide research into improving the performance of SMT solvers on such benchmarks. The results of our work will shortly be published in SMT 15.

26 26 / 27 Concluding Remarks We have studied a simple, yet challenging concurrency problem. Our experiments provide an important diagnostic practice in the development of SMT encodings. The proofs we have manually inspected in CVC4 pinpoint value constraints as culprits. This way, our experiments can guide research into improving the performance of SMT solvers on such benchmarks. The results of our work will shortly be published in SMT 15. Thank you!

27 27 / 27 SC-relaxed Consistency Encoding Let E be the set of events, be the PPO, val : E T V -terms, guard : E T V -formulas and L be the set of memory locations. PPO {(guard(e) guard(e )) (c e c e ) e, e E: e e } {(cw WW[x] c w c w c w ) s w s w w, w W x w w } RW[x] {c w c r c r c w w W x r R x } RF TO [x] {guard(r) {s w = s r w W x } r R x } RF 3 [x] {(s w = s r ) (guard(w) val(w) = rv r c w c r ) r R x w W x } {(sw FR[x] = s r c w c w guard(w )) (c r c w ) w, w } W x r R x { E 3 RFTO [x] RF 3 [x] FR[x] WW[x] RW[x] x L } PPO RF 2 {(sw } [x] = s r ) (c w = sup r guard(w) val(w) = rv r c w c r ) r R x w W x {(cw } SUP[x] c r guard(w)) (c w sup r ) r R x w W x E 2 { RFTO [x] RF 2 [x] SUP[x] WW[x] RW[x] x L } PPO

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

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

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

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

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

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

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

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

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

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

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

On Solving Boolean Combinations of UTVPI Constraints

On Solving Boolean Combinations of UTVPI Constraints Journal on Satisfiability, Boolean Modeling and Computation N (007) xx-yy On Solving Boolean Combinations of UTVPI Constraints Sanjit A. Seshia Department of Electrical Engineering and Computer Sciences

More information

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

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

More information

Quantifier Instantiation Techniques for Finite Model Finding in SMT

Quantifier Instantiation Techniques for Finite Model Finding in SMT Quantifier Instantiation Techniques for Finite Model Finding in SMT Andrew Reynolds, Cesare Tinelli Amit Goel, Sava Krstic Morgan Deters, Clark Barrett Satisfiability Modulo Theories (SMT) SMT solvers

More information

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LOGIC PROPOSITIONAL REASONING

LOGIC PROPOSITIONAL REASONING LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1

More information

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

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

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

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

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

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

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

38050 Povo Trento (Italy), Via Sommarive 14

38050 Povo Trento (Italy), Via Sommarive 14 UNIVERSITY OF TRENTO DEPARTMENT OF INFORMATION AND COMMUNICATION TECHNOLOGY 8050 Povo Trento (Italy), Via Sommarive 4 http://www.dit.unitn.it A Simple and Flexible Way of Computing Small Unsatisfiable

More information

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

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

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

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

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

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

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

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

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

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

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

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

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

Automated Discovery of Simulation Between Programs. Grigory Fedyukovich, Arie Gurfinkel, and Natasha Sharygina

Automated Discovery of Simulation Between Programs. Grigory Fedyukovich, Arie Gurfinkel, and Natasha Sharygina Automated Discovery of Simulation Between Programs Grigory Fedyukovich, Arie Gurfinkel, and Natasha Sharygina LPAR, Fiji, 25 Nov 2015 What is this talk about Searching for total simulation relations for

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

A Simplex-Based Extension of Fourier-Motzkin for Solving Linear Integer Arithmetic

A Simplex-Based Extension of Fourier-Motzkin for Solving Linear Integer Arithmetic A Simplex-Based Extension of Fourier-Motzkin for Solving Linear Integer Arithmetic François Bobot, Sylvain Conchon, Evelyne Contejean, Mohamed Iguernelala, Assia Mahboubi, Alain Mebsout, Guillaume Melquiond

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

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

SAT in Formal Hardware Verification

SAT in Formal Hardware Verification SAT in Formal Hardware Verification Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Invited Talk SAT 05 St. Andrews, Scotland 20. June 2005 Overview Hardware

More information

Round 9: Satisfiability Modulo Theories, Part II

Round 9: Satisfiability Modulo Theories, Part II Round 9: Satisfiability Modulo Theories, Part II Tommi Junttila Aalto University School of Science Department of Computer Science CS-E322 Declarative Programming Spring 218 Tommi Junttila (Aalto University)

More information

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

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

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2

Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2 Automated Program Verification and Testing 15414/15614 Fall 2016 Lecture 8: Procedures for First-Order Theories, Part 2 Matt Fredrikson mfredrik@cs.cmu.edu October 17, 2016 Matt Fredrikson Theory Procedures

More information

Designing Theory Solvers with Extensions

Designing Theory Solvers with Extensions Designing Theory Solvers with Extensions Andrew Reynolds 1, Cesare Tinelli 1, Dejan 1 Jovanović 3, and Clark Barrett 2 1 Department of Computer Science, The University of Iowa 2 Department of Computer

More information

Foundations of Artificial Intelligence

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

More information

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

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

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

Foundations of Artificial Intelligence

Foundations of Artificial Intelligence Foundations of Artificial Intelligence 8. Satisfiability and Model Construction Davis-Putnam-Logemann-Loveland Procedure, Phase Transitions, GSAT Joschka Boedecker and Wolfram Burgard and Bernhard Nebel

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

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

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

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

Counterexample-Guided Model Synthesis

Counterexample-Guided Model Synthesis Counterexample-Guided Model Synthesis Mathias Preiner, Aina Niemetz, and Armin Biere Johannes Kepler University, Linz, Austria Abstract. In this paper we present a new approach for solving quantified formulas

More information

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

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

More information

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

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

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

Improving Unsatisfiability-based Algorithms for Boolean Optimization

Improving Unsatisfiability-based Algorithms for Boolean Optimization Improving Unsatisfiability-based Algorithms for Boolean Optimization Vasco Manquinho Ruben Martins Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal SAT 2010, Edinburgh 1 / 27 Motivation

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

Personnel Scheduling as Satisfiability Modulo Theories

Personnel Scheduling as Satisfiability Modulo Theories Personnel Scheduling as Satisfiability Modulo Theories Christoph Erkinger and Nysret Musliu Institute of Information Systems, TU Wien, Austria christoph.erkinger@gmail.com, musliu@dbai.tuwien.ac.at Abstract

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

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

Integrating Answer Set Programming and Satisfiability Modulo Theories

Integrating Answer Set Programming and Satisfiability Modulo Theories Integrating Answer Set Programming and Satisfiability Modulo Theories Ilkka Niemelä Helsinki University of Technology (TKK) Department of Information and Computer Science http://www.tcs.tkk.fi/ ini/ References:

More information

MathCheck2: A SAT+CAS Verifier for Combinatorial Conjectures

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

More information

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

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel

Propositional Logic. Methods & Tools for Software Engineering (MTSE) Fall Prof. Arie Gurfinkel Propositional Logic Methods & Tools for Software Engineering (MTSE) Fall 2017 Prof. Arie Gurfinkel References Chpater 1 of Logic for Computer Scientists http://www.springerlink.com/content/978-0-8176-4762-9/

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

Solving Quantified Bit-Vectors Using Invertibility Conditions

Solving Quantified Bit-Vectors Using Invertibility Conditions Solving Quantified Bit-Vectors Using Invertibility Conditions Aina Niemetz 1(B), Mathias Preiner 1, Andrew Reynolds 2, Clark Barrett 1, and Cesare Tinelli 2 1 Stanford University, Stanford, USA niemetz@cs.stanford.edu

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

Symbolic Analysis. Xiangyu Zhang

Symbolic Analysis. Xiangyu Zhang Symbolic Analysis Xiangyu Zhang What is Symbolic Analysis CS510 S o f t w a r e E n g i n e e r i n g Static analysis considers all paths are feasible Dynamic considers one path or a number of paths Symbolic

More information

Satisfiability Checking: Theory and Applications

Satisfiability Checking: Theory and Applications Satisfiability Checking: Theory and Applications Erika Ábrahám RWTH Aachen University, Germany STAF/SEFM 2016 July 06, 2016 Erika Ábrahám - Satisfiability Checking: Theory and Applications 1 / 41 What

More information

Efficient E-matching for SMT Solvers. Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond

Efficient E-matching for SMT Solvers. Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond Efficient E-matching for SMT Solvers Leonardo de Moura, Nikolaj Bjørner Microsoft Research, Redmond The Z3tting Z3 is an inference engine tailored towards formulas arising from program verification tools

More information

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

Heuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT.

Heuristics for Efficient SAT Solving. As implemented in GRASP, Chaff and GSAT. Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT. Formulation of famous problems as SAT: k-coloring (1/2) The K-Coloring problem: Given an undirected graph G(V,E) and a natural

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

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

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

More information

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

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

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees

The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees The Complexity of Computing the Behaviour of Lattice Automata on Infinite Trees Karsten Lehmann a, Rafael Peñaloza b a Optimisation Research Group, NICTA Artificial Intelligence Group, Australian National

More information

Part 1: Propositional Logic

Part 1: Propositional Logic Part 1: Propositional Logic Literature (also for first-order logic) Schöning: Logik für Informatiker, Spektrum Fitting: First-Order Logic and Automated Theorem Proving, Springer 1 Last time 1.1 Syntax

More information