Modeling and Analysis of Hybrid Systems
Total Page:16
File Type:pdf, Size:1020Kb
Building Bridges between Symbolic Computation and Satisfiability Checking Erika Abrah´ am´ RWTH Aachen University, Germany in cooperation with Florian Corzilius, Gereon Kremer, Stefan Schupp and others ISSAC’15, 7 July 2015 Photo: Prior Park, Bath / flickr Liam Gladdy What is this talk about? Satisfiability problem The satisfiability problem is the problem of deciding whether a logical formula is satisfiable. We focus on the automated solution of the satisfiability problem for first-order logic over arithmetic theories, especially on similarities and differences in symbolic computation and SAT and SMT solving. Erika Abrah´ am´ - SMT solving and Symbolic Computation 2 / 39 CAS SAT SMT (propositional logic) (SAT modulo theories) Enumeration Computer algebra DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories CAD Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] DPLL(T) substitution Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors Restarts Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development 1960 1970 1980 2000 2010 Erika Abrah´ am´ - SMT solving and Symbolic Computation 3 / 39 SAT SMT (propositional logic) (SAT modulo theories) Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping CDCL [GRASP’97] [zChaff’04] DPLL(T) Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors Restarts Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development CAS Computer algebra 1960 systems 1970 CAD 1980 Partial CAD Virtual 2000 substitution 2010 Erika Abrah´ am´ - SMT solving and Symbolic Computation 3 / 39 SMT (SAT modulo theories) Decision procedures for combined theories [Shostak’79] [Nelson, Oppen’79] DPLL(T) Equalities and uninterpreted functions Bit-vectors Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development CAS SAT (propositional logic) Enumeration Computer algebra 1960 DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] 1970 NP-completeness [Cook’71] CAD Conflict-directed 1980 backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] 2000 substitution Watched literals Clause learning/forgetting Variable ordering heuristics 2010 Restarts Erika Abrah´ am´ - SMT solving and Symbolic Computation 3 / 39 Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development CAS SAT SMT (propositional logic) (SAT modulo theories) Enumeration Computer algebra 1960 DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures 1970 NP-completeness [Cook’71] for combined theories CAD Conflict-directed [Shostak’79] [Nelson, Oppen’79] 1980 backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] DPLL(T) 2000 substitution Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors 2010 Restarts Array theory Arithmetic Erika Abrah´ am´ - SMT solving and Symbolic Computation 3 / 39 Tool development CAS 1960 Schoonschip MATHLAB Reduce Altran 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SMT solving and Symbolic Computation Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 Singular SymbolicC++ Maxima 2000 Xcas/Giac Yacas SAGE SMath Studio Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS Mathics Symbolism FxSolver Calcinator SyMAT 2020 4 / 39 SAT SMT SATO WalkSAT BCSAT Chaff GRASP Siege zChaff Berkmin MiniSAT HySAT/iSAT Bacelogic Sat4j RSat HyperSat DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector ArgoSat OpenCog veriT MiniSmt CryptoMiniSat Glucose UBCSAT Lingeling SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT atSTSolver SAT Fast SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SMT solving and Symbolic Computation Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat Glucose Calcinator SyMAT UBCSAT Lingeling atSTSolver SAT Fast 2020 4 / 39 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom “We have success stories of using zChaff to solve problems with more than one million variables and 10 million clauses. (Of course, it can’t solve every such problem!).” Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SMT solving and Symbolic Computation Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat [zChaff web page] Glucose Calcinator SyMAT UBCSAT Lingeling atSTSolver SAT Fast 2020 4 / 39 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom “We have success stories of using zChaff to solve problems with more than one million variables and 10 million clauses. (Of course, it can’t solve every such problem!).” Erika Macsyma “ The efficiency of our programs allowed us to solve overSMP one hundred Abrah´ open quasigroup problems in design theory.” 1980 muMATH am´ - SMT solving and Symbolic Computation Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat [zChaff web page] Glucose Calcinator SyMAT UBCSAT Lingeling [SATO web page] atSTSolver SAT Fast 2020 4 / 39 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SMT solving and Symbolic Computation Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom MATLAB MuPAD 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver CryptoMiniSat Glucose Calcinator SyMAT UBCSAT Lingeling atSTSolver SAT Fast 2020 4 / 39 SMT HySAT/iSAT Bacelogic DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 Spear PicoSAT Boolector OpenCog veriT MiniSmt SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT SMTInterpol SONOLAR raSAT Tool development CAS 1960 Schoonschip MATHLAB SAT Reduce Altran SMT 1970 Scratchpad/Axiom Erika Macsyma SMP Abrah´ 1980 muMATH am´ - SMT solving and Symbolic Computation Maple Mathcad SAC GAP CoCoA MathHandbook Mathomatic Mathematica Derive FORM 1990 KASH/KANT PARI/GP Magma Fermat Erable Macaulay2 SATO WalkSAT Singular SymbolicC++ Maxima BCSAT Chaff GRASP 2000 Xcas/Giac Siege zChaff Berkmin MiniSAT Yacas HySAT/iSAT Bacelogic SAGE SMath Studio Sat4j RSat HyperSat Cadabra SymPy OpenAxiom DPT ABsolver MathSAT CVC Yices Beaver Alt-Ergo Z3 MATLAB MuPAD Spear PicoSAT Boolector 2010 Wolfram Alpha TI-Nspire CAS ArgoSat Mathics Symbolism FxSolver OpenCog veriT MiniSmt CryptoMiniSat Glucose Calcinator SyMAT UBCSAT Lingeling SWORD SatEEn OpenSMT Clasp UCLID SMCHR STP SMT-RAT atSTSolver SAT Fast 2020 SMTInterpol SONOLAR raSAT 4 / 39 Community support: Standardised input language, lots of benchmarks available. Competitions since 2002. 2014 SAT Competition: 3 categories, 79 participants with 137 solvers. SAT Live! forum as community platform, dedicated conferences, journals, etc. Satisfiability checking for propositional logic Success story: SAT-solving Practical problems with millions of variables are solvable. Frequently used