From Propositional SAT to SMT

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

Simplifications of Context-Free Grammars
Variations of the Turing Machine
PDAs Accept Context-Free Languages
AP STUDY SESSION 2.
1
& dding ubtracting ractions.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
Satisfiability modulo the Theory of Bit Vectors
David Burdett May 11, 2004 Package Binding for WS CDL.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Process a Customer Chapter 2. Process a Customer 2-2 Objectives Understand what defines a Customer Learn how to check for an existing Customer Learn how.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
Add Governors Discretionary (1G) Grants Chapter 6.
CALENDAR.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt BlendsDigraphsShort.
The 5S numbers game..
Break Time Remaining 10:00.
Factoring Quadratics — ax² + bx + c Topic
Turing Machines.
Table 12.1: Cash Flows to a Cash and Carry Trading Strategy.
PP Test Review Sections 6-1 to 6-6
Bellwork Do the following problem on a ½ sheet of paper and turn in.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
TESOL International Convention Presentation- ESL Instruction: Developing Your Skills to Become a Master Conductor by Beth Clifton Crumpler by.
Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1 Section 5.5 Dividing Polynomials Copyright © 2013, 2009, 2006 Pearson Education, Inc. 1.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 Decision Procedures An algorithmic point of view Equality Logic and Uninterpreted Functions.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Adding Up In Chunks.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
1 Termination and shape-shifting heaps Byron Cook Microsoft Research, Cambridge Joint work with Josh Berdine, Dino Distefano, and.
Artificial Intelligence
When you see… Find the zeros You think….
Before Between After.
Subtraction: Adding UP
: 3 00.
5 minutes.
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
Types of selection structures
Speak Up for Safety Dr. Susan Strauss Harassment & Bullying Consultant November 9, 2012.
Essential Cell Biology
Converting a Fraction to %
Clock will move after 1 minute
PSSA Preparation.
& dding ubtracting ractions.
Immunobiology: The Immune System in Health & Disease Sixth Edition
Physics for Scientists & Engineers, 3rd Edition
Energy Generation in Mitochondria and Chlorplasts
Select a time to count down from the clock above
Copyright Tim Morris/St Stephen's School
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
1 Non Deterministic Automata. 2 Alphabet = Nondeterministic Finite Accepter (NFA)
SAT Solver CS 680 Formal Methods Jeremy Johnson. 2 Disjunctive Normal Form  A Boolean expression is a Boolean function  Any Boolean function can be.
1 A propositional world Ofer Strichman School of Computer Science, Carnegie Mellon University.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
Introduction to Satisfiability Modulo Theories
Boolean Satisfiability Present and Future
Satisfiability Modulo Theories and DPLL(T) Andrew Reynolds March 18, 2015.
A Progressive Approach for Satisfiability Modulo Theories
Presentation transcript:

From Propositional SAT to SMT Hossein M. Sheini and Karem A. Sakallah SAT 2006 August 13, 2006 Seattle

Propositional Satisfiability DPLL: systematic backtracking search Branch [Pure literal rule] Propagate Unit propagation  Boolean Constraint Propagation (BCP) Backtrack Modern implementations of DPLL Conflict analysis Clause learning Non-chronological backtracking Efficient propagation Two watched literals per clause Adaptive branching VSIDS Restarts

Quantifier-Free First-Order Logic Boolean combination of atoms from background theories

Decidable Quantifier-Free FOL Theories Empty QF_UF: uninterpreted functions with equality (aka EUF) Linear Real Arithmetic QF_LRA QF_RDL: real difference logic UTVPI Linear Integer Arithmetic QF_LIA QF_IDL: integer difference logic Data Structures QF_A: arrays QF_BV: bit vectors Lists, etc.

QF_UF Atoms

Linear Real Arithmetic Atoms QF_LRA: QF_RDL: UTVPI:

Linear Integer Arithmetic Atoms QF_LIA: QF_IDL: IUTVPI:

Chronology of SAT for Quantifier-Free FOL Late 70s to mid 80s Congruence closure algorithms Combination strategies for disjoint theories Mid 80s to mid 90s Not much! Mid to late 90s Initial attempts at improved propositional reasoning Early 21st Century Significant activity across many fields

Reasoning About Equality Logic of equality with uninterpreted functions and predicates (EUF) To prove validity of EUF formula j Construct disjunctive normal form (DNF) of ¬j Prove unsatisfiability of each conjunct of ¬j using congruence closure [Shostak 78] [NelsonOppen 80]

Congruence Closure a b f [NelsonOppen 80]

Reasoning About Integer Arithmetic Quantifier-Free Presburger Arithmetic To prove validity of QF Presburger formula j Construct disjunctive normal form (DNF) of ¬j Prove unsatisfiability of each conjunct of ¬j using integer linear programming (ILP) [Shostak 79]

QF Presburger Arithmetic Example Negate “Normalize” Convert to DNF Solve ILPs [Shostak 79] Invalid!

Deciding Combinations of Theories Quantifier-Free Presburger Arithmetic + EUF Add all functional consistency axioms (aka substitutivity axioms of equality) Eliminate UFs and UPs using “Ackermann’s reduction” (adding consistency “axioms”) to get a pure equality formula Convert complement to DNF Solve each conjunct as an integer linear program (ILP) Formula explodes [Shostak 79]

QF Presburger Arithmetic + EUF Example Add functional consistency axioms Eliminate function symbols [Shostak 79]

Alternatively … Add all functional consistency axioms Eliminate UFs and UPs using “Ackermann’s reduction” (adding consistency “axioms”) to get a pure equality formula Convert complement to DNF Solve each conjunct as an integer linear program (ILP) Formula explodes Add functional consistency axioms as needed Ignore functional consistency and solve as before Check functional consistency for symbols with different values; if violated, add axiom and repeat Has the flavor of “learning” on demand ILPs can be solved incrementally [Shostak 79]

Deciding Combinations of Theories Convert negation to DNF Add variables to purify different theory conjuncts Solve separately Propagate equalities Split in case no equalities can be inferred Supported theories: Real numbers under + and leq: Simplex Arrays under store and select List structures with car, cdr, cons, and atom: congruence closure Equality with UF: congruence closure [NelsonOppen 79]

Example of Nelson-Oppen Procedure Lists EUF LRA [NelsonOppen 79]

Example of Nelson-Oppen Procedure

Deciding Combinations of Theories Generalizes Nelson-Oppen method by eliminating the need for extra variables Congruence closure is extended to handle different theories as long as they have “canonizers” and solvers Found to be “buggy” and not as general as N-O [Shostak 84]

Disadvantages of “Old” Combination Methods Need to convert to DNF Inefficient handling of Boolean structure Can be viewed as lazy integration with an open feedback loop between a propositional enumerator and the theory solvers

Disadvantages of “Old” Combination Methods SMT Instance DNF Converter DNF Instance Yes More Conjuncts? Conjunction of Theory Atoms No UNSAT Theory Solvers SAT

Improved Propositional Reasoning Convert SMT instance to equi-satisfiable propositional form and apply Boolean reasoning techniques (BDDs or SAT) Small-domain encoding Per-constraint encoding Add more sophisticated Boolean reasoning, but keep background theories intact Re-write rules and better Boolean splits Add full-fledged SAT or BDD solvers to handle the Boolean skeleton Very Lazy: theory solver returns a conflict clause to SAT solver Lazy: theory solver invoked incrementally but does not propagate Eager: theory solver propagates and learns etc. Variants Layered

Reasoning About Equality: Revisited EUF Formula DNF Converter DNF of = and ≠ Conjuncts More Conjuncts? No UNSAT Yes Congruence Closure SAT Conjunction of = and ≠

Reasoning About Equality: Revisited SAT/BDD Solver SAT UNSAT EUF Formula Reduction E Formula Range Analysis & Boolean Encoding

Reasoning About Equality: Revisited Ackermann’s Reduction Congruence Closure x y F1 F4 F3 F2 Bryant’s “ite” Reduction

Pros/Cons of SMT-to-SAT Conversion Black-box use of modern SAT solvers ü Leveraging of performance/capacity improvements in SAT solvers ü û Loss of theory semantics (e.g., arithmetic) Increase of instance sizes û

Combine SAT and Theory Solvers SMT Instance Propositional Abstraction SAT Instance Abstraction Refinement SAT Solver UNSAT UNSAT SAT Theory Atoms Theory Solvers SAT

Propositional Abstraction

Spectrum of Integration How aggressively is refinement done? Very lazily: theory solver does not feedback any info to SAT solver; no refinement Lazily: theory solver returns a small explanation of infeasibility to SAT solver Eagerly: theory solver participates in value propagation (implications) and in conflict analysis Very eagerly: direct encoding of all theory semantics in propositional formula; no abstraction

Very Lazy Integration Boolean Solver

Very Lazy Integration Integer Solver UNSAT

Spectrum of Integration How aggressively is refinement done? Very lazily: theory solver does not feedback any info to SAT solver; no refinement Lazily: theory solver returns a small explanation of infeasibility to SAT solver Eagerly: theory solver participates in value propagation (implications) and in conflict analysis Very eagerly: direct encoding of all theory semantics in propositional formula; no abstraction

Lazy Integration Boolean Solver

Lazy Integration Integer Solver Create conflict clause and return to Boolean solver

Spectrum of Integration How aggressively is refinement done? Very lazily: theory solver does not feedback any info to SAT solver; no refinement Lazily: theory solver returns a small explanation of infeasibility to SAT solver Eagerly: theory solver participates in value propagation (implications) and in conflict analysis Very eagerly: direct encoding of all theory semantics in propositional formula; no abstraction

Eager Integration: Incremental Propagation

Eager Integration: Incremental Propagation

Integration Trade-offs Must balance cost of generating new “facts” against utility of such facts in pruning the search space E.g., a priori generation of transitivity constraints for all possible equalities is overkill Suggests an “on-demand” learning strategy analogous to conflict analysis in modern SAT solvers On-demand learning requires incremental backtrackable theory solvers that maintain state Cost of propagation for various theories and sub-theories: EUF: congruence closure is O(n log n) Difference constraints: negative cycle detection is O(nm) UTVPI: transitive closure is O(n3) Real arithmetic: incremental Simplex

Offline Integration of LRA Solver

Offline Integration of LRA Solver

Offline Integration of LRA Solver

Learning Strategies CNF clauses: disjunctions of existing atoms (in terms of their indicator variables) Introduction of new theory atoms: cutting planes

Introduction of New Atoms

Offline Integration of LRA Solver

DPLL(T) Framework Declarative “calculus” for tight integration of a solver for theory T within a propositional DPLL solver Inspired by CLP(X) Defines SolverT as an abstract data type with the following methods: Initialize(L: Literal set) SetTrue(l: L-literal): L-literal set IsTrue?(l: L-literal): Boolean Backtrack(n: Natural) Explanation(l: L-literal): L-literal set [Tinelli 02] [Nieuwenhuis-Oliveras 03]

Nelson-Oppen 1979 LPSAT 1999 Simplify 1998? CVC 2002/2004 Verifun 2003 SVC 1996 CVC Lite 2004 Sammy 2005 Shostak 1984 ICS 2001 Yices 2006 ICS+Chaff 2002 Simplics 2005 D. Cyrluk, P. Lincoln, and N. Shankar, “On Shostak’s Decision Procedure for Combinations of Theories,” CADE 1996 Compares the Nelson-Oppen and Shostak congruence closure procedures and identifies the three optimizations in Shostak’s procedure Explains how so-called sigma-theories (i.e., theories that are canonizable and algebraically solvable) can be integrated much more closely than in the Nelson-Oppen framework, leading to much more efficient equality propagation (necessarily duplicated in the Neslon-Oppen approach) Identifies the bugs in Shostak’s original algorithm Suggests (for future) making Shostak a component in a Nelson-Oppen framework. J.-C. Filliatre, S. Owre, H. Ruess, and N. Shankar, “ICS: Integrated Canonizer and Solver,” CAV 2001. Implements (corrected) Shostak procedure extended with arithemtic inequalities Has a flexible API for integration with other provers and simulators Theories: UF with equality and disequality Rational linear arithmetic (with inequalities) Sets Tuples Arrays Bit vectors L. de Moura and H. Ruess, “Lemmas of Demand for Satisfiability Solvers,” SAT 2002 Lazy integration of ICS and Chaff Procedure for creating lemmas that “explain” the infeasibility of conjunctions of theory atoms Mentions inefficiency of restarting the SAT solver after adding theory-induced lemmas B. Dutertre and L. De Moura, “Simplics: Tools Description,” 2005 Successor to ICS that is limited to the theory of linear real arithmetic Main application: BMC of infinite-state systems Core: incremental Simplex that allows addition of equalities, inequalities, and disequalities Modern SAT solver implemented in Ocaml A. Armando and E. Giunchiglia, “Embedding Complex Decision Procedures inside an Interactive Theorem Prover,” Annals of Mathematics and Artificial Intelligence, 8(3-4):475-502, 1993. GETFOL PTAUT: Basic DPPL-like procedure for deciding satisfiability of non-CNF formulas PTAUTEQ: Equality propagation procedure (creates an equivalence partition on terms) tautren, UE-dec: procedures to convert quantified FOL formulas to a quantifier-free FOL formulas F. Giunchiglia and R. Sebastiani, “Building Decision Procedures for Modal Logics from Propositional Decision Procedures – The Case Study of Modal K(m),” CADE 1996. KSAT Theory: modal logics Approach: Propositional non-CNF solver based on DPLL using Bohm decision heuristic (fastest at the time) Modal decider invoked when propositional decider return SAT Enhancement: check modal decider before a split in propositional decider if partial assignment is likely to be unsatisfiable R. Sebastiani, “Integrating SAT Solvers with Math Reasoners: Foundations and Basic Algorithms,” Tech report 0111-22, ITC-IRST, November 2001. MATH-SAT G. Audemard, P. Bertoli, A. Cimatti, A. Kornilowicz and R. Sebastiani, “A SAT Based Approach for Solving Formulas over Boolean and Linear mathematical Propositions,” CADE 2002. L0: propositional solver based on DPLL (SIM Library} L1: equality solver and propagator (equivalence classes) L2: difference inequality solver (Bellman-Ford) L3: Simplex-based_LP solver L4: negated equality checker and splitter M. Bozzano, R. Bruttomesso, A. Cimatti, T. Junttila, P. van Rossum, S. Schulz, and R. Sebastiani, “An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic,” TACAS 2005 Theory-driven backjumping (non-chronological backtracking) Theory-driven learning Theory-driven deduction (implication of theory atoms) Theory solver is incremental and backtrackable (maintains state) Clustering Layering Equational solver: congruence closure algorithm of Nieuwenhuis and Oliveras Real Linear arithmetic solver: Cassowary Disequalities checked against above Integer linear arithmetic solver: Cassowary branch-and-cut Finally, Omega (Fourier-Motzkin) Boolean solver: Minisat S. Wolfman, “The LPSAT Engine & its Application to Resourec Planning,” IJCAI 1999. LPSAT Inspired by Nelson-Oppen Propositional solver: RELSAT (learns and backjumps) Linear solver: Cassowary Incremental Allows for identifying a minimal infeasible subset of linear constraints by minimizing their “error” C. Barrett, D. Dill, and J. Levitt, “Valdity Checking for Combinations of Theories with Equality,” FMCAD 1996. SVC Builds on Shostak’s congruence closure algorithm bust uses BDD-like datastructure to avoid conversion to DNF Formula is simplified using splits and re-wrire rules A first attempt at capturing Boolean structure C. Barrett, D. Dill, and A. Stump, “Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT,” CAV 2002. A Stump, C. barrett, and D. Dill, “CVC: A Cooperating Validity Checker,” CAV 2004. CVC Theories: uninterpreted functions, arithmetic, arrays, abstract data types using a variant of Nelson-Oppen SAT solver (chaff) calls theory solver upon returning SAT In case of a theory conflict, theory solver returns a (not necessarily minimal) conflict clause and restarts the SAT solver. This is called an abstract proof. Notification policy: Lazy: at end of execution of the SAT solver (theory solver is off-line) Eager: in response to decisions made and revoked by SAT solver (theory solver is online) C. Barrett and Sergey Berezin, “CVC Lite: A New Implementation of the Cooperating Validity Checker,” CAV 2004. CVC Lite An optimized implementation of CVC that adds an API, proof support, and quantifiers. D. Detlefs, G. Nelson, and J. Saxe, “Simplify: A Theorem prover for Program Checking,” JACM 2005 Simplify A very detailed description (109 pages) Implements Nelson-Oppen procedure and supports quantification Simple propositional search strategy (not a modern SAT algorithm) C. Flanagan, R. Joshi, X. Ou, and J. Saxe, “Theorem Proving Using Lazy Proof Explication,” CAV 2003. Verifun Problems with Simplify: Propositional SAT solver not competitive with more recent solvers Theory conflicts did not guide propositional search (no theory learning or proofs of infeasibility) Theory solvers generate “explicated” clauses which act similarly to conflict clauses in modern SAT solvers Theories (they are non-backtracking, i.e., non-incremental, i.e. they don’t hold state) EUF: based on Nelson-Oppen E-graph data structure for transitivity and congruence Rational linear arithmetic: variation of Simplex Arrays: pattern matching Algorithmic Enhancements: (Use graphs in presentation) Online (incremental) vs. Offline (non-incremental) SAT solving Partial vs. complete truth assignments Proxy reuse (use same prop variables for identical subformulas) Eager transitivity: reduces # of refinement iterations, but not necessarily runtime (rreminicient of adding all consensus clauses to a SAT solver!) Granularity of explication (size of infeasibility proof) C. Tinelli, “A DPLL-based Calculus for Ground Satisfiability Modulo Theories,” JELIA (Europ. Conf. on Logic in AI), 2002. [Tin02] Formalizes the integration of theories within a DPLL framework in a declarative fashion Discusses implications of including theories within DPLL on search heuristics (e.g., branching heuristics, etc.) DPLL(T) represents a tight integration of the propositional and theory solvers R. Nieuwenhuis and A. Oliveras, “Congruence Closure with Integer Offsets,” LPAR (Conf. on Logic for Programming, Artificial Intelligence, and Reasoning) 2003. [NO03] “Improved” implementation of congruence closure without conversion to graph Incorporation of integer offsets (to handle succ/pred as in CLU) Mentions DPLL(X) modeled after CLP(X) H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli, “DPLL(T): Fast Decision Procedures,” CAV 2004. DPLL(T) Builds on [Tin02] and [NO03] Theories: EUF + succ/pred DPLL(X) is modeled after Chaff; congruence closure with offsets as in [NO03] Discusses propagtaion through the theory solver Solvers with no papers: Sammy Uses SATO’s library for DPLL(X) Uses CVCLite as theory solver BarcelogicTools Another implementation of DPLL(T) Theories: EUF with succ/pred, integer and real DL Yices Succesor to ICS?? Ario 2005 DPLL(T) 2002 BarcelogicTools 2005 GETFOL 1993 KSAT 1996 MATH-SAT 2001 MATH-SAT 2002 MATH-SAT 2005

Nelson-Oppen 1979 LPSAT 1999 Simplify 1998? Verifun 2003 SVC 1996 CVC 2002/2004 CVC Lite 2004 Shostak 1984 ICS 2001 ICS+Chaff 2002 Simplics 2005 Yices 2006 D. Cyrluk, P. Lincoln, and N. Shankar, “On Shostak’s Decision Procedure for Combinations of Theories,” CADE 1996 Compares the Nelson-Oppen and Shostak congruence closure procedures and identifies the three optimizations in Shostak’s procedure Explains how so-called sigma-theories (i.e., theories that are canonizable and algebraically solvable) can be integrated much more closely than in the Nelson-Oppen framework, leading to much more efficient equality propagation (necessarily duplicated in the Neslon-Oppen approach) Identifies the bugs in Shostak’s original algorithm Suggests (for future) making Shostak a component in a Nelson-Oppen framework. J.-C. Filliatre, S. Owre, H. Ruess, and N. Shankar, “ICS: Integrated Canonizer and Solver,” CAV 2001. Implements (corrected) Shostak procedure extended with arithemtic inequalities Has a flexible API for integration with other provers and simulators Theories: UF with equality and disequality Rational linear arithmetic (with inequalities) Sets Tuples Arrays Bit vectors L. de Moura and H. Ruess, “Lemmas of Demand for Satisfiability Solvers,” SAT 2002 Lazy integration of ICS and Chaff Procedure for creating lemmas that “explain” the infeasibility of conjunctions of theory atoms Mentions inefficiency of restarting the SAT solver after adding theory-induced lemmas B. Dutertre and L. De Moura, “Simplics: Tools Description,” 2005 Successor to ICS that is limited to the theory of linear real arithmetic Main application: BMC of infinite-state systems Core: incremental Simplex that allows addition of equalities, inequalities, and disequalities Modern SAT solver implemented in Ocaml A. Armando and E. Giunchiglia, “Embedding Complex Decision Procedures inside an Interactive Theorem Prover,” Annals of Mathematics and Artificial Intelligence, 8(3-4):475-502, 1993. GETFOL PTAUT: Basic DPPL-like procedure for deciding satisfiability of non-CNF formulas PTAUTEQ: Equality propagation procedure (creates an equivalence partition on terms) tautren, UE-dec: procedures to convert quantified FOL formulas to a quantifier-free FOL formulas F. Giunchiglia and R. Sebastiani, “Building Decision Procedures for Modal Logics from Propositional Decision Procedures – The Case Study of Modal K(m),” CADE 1996. KSAT Theory: modal logics Approach: Propositional non-CNF solver based on DPLL using Bohm decision heuristic (fastest at the time) Modal decider invoked when propositional decider return SAT Enhancement: check modal decider before a split in propositional decider if partial assignment is likely to be unsatisfiable R. Sebastiani, “Integrating SAT Solvers with Math Reasoners: Foundations and Basic Algorithms,” Tech report 0111-22, ITC-IRST, November 2001. MATH-SAT G. Audemard, P. Bertoli, A. Cimatti, A. Kornilowicz and R. Sebastiani, “A SAT Based Approach for Solving Formulas over Boolean and Linear mathematical Propositions,” CADE 2002. L0: propositional solver based on DPLL (SIM Library} L1: equality solver and propagator (equivalence classes) L2: difference inequality solver (Bellman-Ford) L3: Simplex-based_LP solver L4: negated equality checker and splitter M. Bozzano, R. Bruttomesso, A. Cimatti, T. Junttila, P. van Rossum, S. Schulz, and R. Sebastiani, “An Incremental and Layered Procedure for the Satisfiability of Linear Arithmetic Logic,” TACAS 2005 Theory-driven backjumping (non-chronological backtracking) Theory-driven learning Theory-driven deduction (implication of theory atoms) Theory solver is incremental and backtrackable (maintains state) Clustering Layering Equational solver: congruence closure algorithm of Nieuwenhuis and Oliveras Real Linear arithmetic solver: Cassowary Disequalities checked against above Integer linear arithmetic solver: Cassowary branch-and-cut Finally, Omega (Fourier-Motzkin) Boolean solver: Minisat S. Wolfman, “The LPSAT Engine & its Application to Resourec Planning,” IJCAI 1999. LPSAT Inspired by Nelson-Oppen Propositional solver: RELSAT (learns and backjumps) Linear solver: Cassowary Incremental Allows for identifying a minimal infeasible subset of linear constraints by minimizing their “error” C. Barrett, D. Dill, and J. Levitt, “Valdity Checking for Combinations of Theories with Equality,” FMCAD 1996. SVC Builds on Shostak’s congruence closure algorithm bust uses BDD-like datastructure to avoid conversion to DNF Formula is simplified using splits and re-wrire rules A first attempt at capturing Boolean structure C. Barrett, D. Dill, and A. Stump, “Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT,” CAV 2002. A Stump, C. barrett, and D. Dill, “CVC: A Cooperating Validity Checker,” CAV 2004. CVC Theories: uninterpreted functions, arithmetic, arrays, abstract data types using a variant of Nelson-Oppen SAT solver (chaff) calls theory solver upon returning SAT In case of a theory conflict, theory solver returns a (not necessarily minimal) conflict clause and restarts the SAT solver. This is called an abstract proof. Notification policy: Lazy: at end of execution of the SAT solver (theory solver is off-line) Eager: in response to decisions made and revoked by SAT solver (theory solver is online) C. Barrett and Sergey Berezin, “CVC Lite: A New Implementation of the Cooperating Validity Checker,” CAV 2004. CVC Lite An optimized implementation of CVC that adds an API, proof support, and quantifiers. D. Detlefs, G. Nelson, and J. Saxe, “Simplify: A Theorem prover for Program Checking,” JACM 2005 Simplify A very detailed description (109 pages) Implements Nelson-Oppen procedure and supports quantification Simple propositional search strategy (not a modern SAT algorithm) C. Flanagan, R. Joshi, X. Ou, and J. Saxe, “Theorem Proving Using Lazy Proof Explication,” CAV 2003. Verifun Problems with Simplify: Propositional SAT solver not competitive with more recent solvers Theory conflicts did not guide propositional search (no theory learning or proofs of infeasibility) Theory solvers generate “explicated” clauses which act similarly to conflict clauses in modern SAT solvers Theories (they are non-backtracking, i.e., non-incremental, i.e. they don’t hold state) EUF: based on Nelson-Oppen E-graph data structure for transitivity and congruence Rational linear arithmetic: variation of Simplex Arrays: pattern matching Algorithmic Enhancements: (Use graphs in presentation) Online (incremental) vs. Offline (non-incremental) SAT solving Partial vs. complete truth assignments Proxy reuse (use same prop variables for identical subformulas) Eager transitivity: reduces # of refinement iterations, but not necessarily runtime (rreminicient of adding all consensus clauses to a SAT solver!) Granularity of explication (size of infeasibility proof) C. Tinelli, “A DPLL-based Calculus for Ground Satisfiability Modulo Theories,” JELIA (Europ. Conf. on Logic in AI), 2002. [Tin02] Formalizes the integration of theories within a DPLL framework in a declarative fashion Discusses implications of including theories within DPLL on search heuristics (e.g., branching heuristics, etc.) DPLL(T) represents a tight integration of the propositional and theory solvers R. Nieuwenhuis and A. Oliveras, “Congruence Closure with Integer Offsets,” LPAR (Conf. on Logic for Programming, Artificial Intelligence, and Reasoning) 2003. [NO03] “Improved” implementation of congruence closure without conversion to graph Incorporation of integer offsets (to handle succ/pred as in CLU) Mentions DPLL(X) modeled after CLP(X) H. Ganzinger, G. Hagen, R. Nieuwenhuis, A. Oliveras, and C. Tinelli, “DPLL(T): Fast Decision Procedures,” CAV 2004. DPLL(T) Builds on [Tin02] and [NO03] Theories: EUF + succ/pred DPLL(X) is modeled after Chaff; congruence closure with offsets as in [NO03] Discusses propagtaion through the theory solver Solvers with no papers: Sammy Uses SATO’s library for DPLL(X) Uses CVCLite as theory solver BarcelogicTools Another implementation of DPLL(T) Theories: EUF with succ/pred, integer and real DL Yices Succesor to ICS?? Sammy 2005 Ario 2005 DPLL(T) 2002 BarcelogicTools 2005 GETFOL 1993 KSAT 1996 MATH-SAT 2001 MATH-SAT 2002 MATH-SAT 2005

2005 Competition Results: QF_UF

2005 Competition Results: QF_RDL

2005 Competition Results: QF_IDL

2005 Competition Results: QF_UFIDL

2005 Competition Results: QF_LRA

2005 Competition Results: QF_LIA

2005 Competition Results: QF_AUFLIA

Conclusions SAT does it again! Modern SAT technology critical enabler of SMT solvers Clear winner: tight integration of SAT and Theory solvers Incremental propagation Incremental conflict analysis and learning Careful tuning SMT is bringing different communities together (SAT, CP, AI, OR) Competition is good