Presentation is loading. Please wait.

Presentation is loading. Please wait.

From Propositional SAT to SMT

Similar presentations


Presentation on theme: "From Propositional SAT to SMT"— Presentation transcript:

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

2 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

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

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

5 QF_UF Atoms

6 Linear Real Arithmetic Atoms
QF_LRA: QF_RDL: UTVPI:

7 Linear Integer Arithmetic Atoms
QF_LIA: QF_IDL: IUTVPI:

8 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

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

10 Congruence Closure a b f [NelsonOppen 80]

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

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

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

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

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

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

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

18 Example of Nelson-Oppen Procedure

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

20 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

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

22 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

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

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

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

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

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

28 Propositional Abstraction

29 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

30 Very Lazy Integration Boolean Solver

31 Very Lazy Integration Integer Solver UNSAT

32 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

33 Lazy Integration Boolean Solver

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

35 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

36 Eager Integration: Incremental Propagation

37 Eager Integration: Incremental Propagation

38 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

39 Offline Integration of LRA Solver

40 Offline Integration of LRA Solver

41 Offline Integration of LRA Solver

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

43 Introduction of New Atoms

44 Offline Integration of LRA Solver

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

46 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): , 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 , 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 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), [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) [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

47 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): , 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 , 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 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), [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) [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

48 2005 Competition Results: QF_UF

49 2005 Competition Results: QF_RDL

50 2005 Competition Results: QF_IDL

51 2005 Competition Results: QF_UFIDL

52 2005 Competition Results: QF_LRA

53 2005 Competition Results: QF_LIA

54 2005 Competition Results: QF_AUFLIA

55 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


Download ppt "From Propositional SAT to SMT"

Similar presentations


Ads by Google