SMT Solving for AI Planning: Theory, Tools and Applications
Total Page:16
File Type:pdf, Size:1020Kb
SMT Solving for AI Planning: Theory, Tools and Applications Erika Abrah´ am´ Francesco Leofante RWTH Aachen University, Germany RWTH Aachen University, Germany University of Genoa, Italy ICAPS 2018 Delft, The Netherlands 25 June 2018 About us Erika Francesco Full professor Ph.D. Student Theory of Hybrid Systems @ RWTH https://ths.rwth-aachen.de Resources for this tutorial https://ths.rwth-aachen.de/research/talks/smt4planning E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 2 / 74 Planning problem How does SMT solving work? How to use it for planning? â Plan What is this tutorial about? :a ^ b _pc + ' What is satisfiability checking? E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 3 / 74 Planning problem How to use it for planning? Plan What is this tutorial about? :a ^ b _pc + ' What is satisfiability checking? How does SMT solving work? â E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 3 / 74 â What is this tutorial about? Planning problem :a ^ b _pc + ' What is satisfiability checking? How does SMT solving work? How to use it for planning? Plan E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 3 / 74 Outline SMT solving I Historical notes II SAT and SMT solving III Some applications outside planning SMT solving for planning IV SMT and planning V Application: optimal planning with OMT Concluding remarks E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 4 / 74 Outline SMT solving I Historical notes II SAT and SMT solving III Some applications outside planning SMT solving for planning IV SMT and planning V Application: optimal planning with OMT Concluding remarks E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 5 / 74 Non-linear real algebra (NRA) Formula: (x − 2y > 0 _ x2 − 2 = 0) ^ x4y + 2x2 − 4 > 0 p Satisfying assignment: x = 2; y = 2 There are some hard problem classes... non-linear integer arithmetic is even undecidable. The satisfiability problem Propositional logic Formula: (a _: b) ^ (:a _ b _ c) Satisfying assignment: a = true; b = false; c = true It is perhaps the most well-known NP-complete problem [Cook, 1971]. E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 6 / 74 The satisfiability problem Propositional logic Formula: (a _: b) ^ (:a _ b _ c) Satisfying assignment: a = true; b = false; c = true It is perhaps the most well-known NP-complete problem [Cook, 1971]. Non-linear real algebra (NRA) Formula: (x − 2y > 0 _ x2 − 2 = 0) ^ x4y + 2x2 − 4 > 0 p Satisfying assignment: x = 2; y = 2 There are some hard problem classes... non-linear integer arithmetic is even undecidable. E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 6 / 74 Fast SAT Solver raSAT SMT-RAT SMCHR UCLID Clasp Lingeling UBCSAT SMTInterpol Glucose CryptoMiniSat SONOLAR MiniSmt STP veriT OpenCog ArgoSat OpenSMT SatEEn SWORD Boolector PicoSAT Spear Z3 Alt-Ergo Beaver ABsolver Yices CVC HySAT/iSAT DPT HyperSat RSat Sat4j ICS Uclid MathSAT Barcelogic MiniSAT Berkmin[zch, zChaff ] Siege GRASP Chaff BCSAT Simplify SVC WalkSAT SATO [SATO webpage, ] “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!).” “The efficiency of our programs allowed us to solve over one hundred SAT solvers open quasigroup problems in design theory.” SMT solvers 2020 SyMAT Calcinator FxSolver Symbolism Mathics CAS TI-Nspire Alpha Wolfram MuPAD MATLAB OpenAxiom SymPy Cadabra 2010 Studio SMath SAGE Yacas Xcas/Giac June 25, 2018 7 / 74 Maxima 2000 SymbolicC++ Singular Macaulay2 Erable Fermat Magma PARI/GP KASH/KANT FORM Derive Mathematica Mathomatic MathHandbook CoCoA 1990 GAP SAC Mathcad Maple muMATH SMP Macsyma 1980 ICAPS’18 Tool development (incomplete!) Scratchpad/Axiom Computer algebra systems Altran Reduce 1970 MATHLAB Schoonschip 1960 am,´ F. Leofante ´Abrah E. raSAT SMT-RAT SMCHR UCLID Clasp SMTInterpol SONOLAR MiniSmt STP veriT OpenCog OpenSMT SatEEn SWORD Boolector PicoSAT Spear Z3 Alt-Ergo Beaver ABsolver Yices CVC HySAT/iSAT DPT ICS Uclid MathSAT Barcelogic [zch, ] Simplify SVC [SATO webpage, ] “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!).” “The efficiency of our programs allowed us to solve over one hundred open quasigroup problems in design theory.” SMT solvers 2020 SyMAT Calcinator Fast SAT Solver FxSolver Symbolism Mathics Lingeling UBCSAT CAS TI-Nspire ofa Alpha Wolfram Glucose CryptoMiniSat MuPAD MATLAB ArgoSat OpenAxiom SymPy Cadabra 2010 Studio SMath SAGE Yacas Xcas/Giac HyperSat RSat Sat4j June 25, 2018 7 / 74 Maxima 2000 SymbolicC++ Singular MiniSAT Berkmin zChaff Siege Macaulay2 Erable Fermat Magma GRASP Chaff BCSAT PARI/GP KASH/KANT WalkSAT SATO FORM Derive Mathematica Mathomatic MathHandbook CoCoA 1990 GAP SAC Mathcad Maple muMATH SMP Macsyma 1980 ICAPS’18 Tool development (incomplete!) Scratchpad/Axiom Computer algebra systems Altran Reduce 1970 MATHLAB Schoonschip 1960 SAT solvers am,´ F. Leofante ´Abrah E. raSAT SMT-RAT SMCHR UCLID Clasp SMTInterpol SONOLAR MiniSmt STP veriT OpenCog OpenSMT SatEEn SWORD Boolector PicoSAT Spear Z3 Alt-Ergo Beaver ABsolver Yices CVC HySAT/iSAT DPT ICS Uclid MathSAT Barcelogic Simplify SVC [SATO webpage, ] “The efficiency of our programs allowed us to solve over one hundred open quasigroup problems in design theory.” SMT solvers 2020 SyMAT Calcinator Fast SAT Solver FxSolver Symbolism Mathics Lingeling UBCSAT CAS TI-Nspire ofa Alpha Wolfram Glucose CryptoMiniSat MuPAD MATLAB ArgoSat OpenAxiom SymPy Cadabra 2010 Studio SMath SAGE Yacas Xcas/Giac HyperSat RSat Sat4j June 25, 2018 7 / 74 Maxima [zch, ] 2000 SymbolicC++ Singular MiniSAT Berkmin zChaff Siege Macaulay2 Erable Fermat Magma GRASP Chaff BCSAT PARI/GP KASH/KANT WalkSAT SATO FORM Derive Mathematica Mathomatic MathHandbook CoCoA 1990 GAP SAC Mathcad Maple muMATH SMP Macsyma 1980 ICAPS’18 Tool development (incomplete!) Scratchpad/Axiom Computer algebra systems Altran Reduce 1970 MATHLAB Schoonschip “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!).” 1960 SAT solvers am,´ F. Leofante ´Abrah E. raSAT SMT-RAT SMCHR UCLID Clasp SMTInterpol SONOLAR MiniSmt STP veriT OpenCog OpenSMT SatEEn SWORD Boolector PicoSAT Spear Z3 Alt-Ergo Beaver ABsolver Yices CVC HySAT/iSAT DPT ICS Uclid MathSAT Barcelogic Simplify SVC SMT solvers 2020 SyMAT Calcinator Fast SAT Solver FxSolver Symbolism Mathics Lingeling UBCSAT CAS TI-Nspire ofa Alpha Wolfram Glucose CryptoMiniSat MuPAD MATLAB ArgoSat OpenAxiom SymPy Cadabra 2010 Studio SMath SAGE Yacas Xcas/Giac HyperSat RSat Sat4j June 25, 2018 7 / 74 Maxima [zch, ] 2000 SymbolicC++ Singular MiniSAT Berkmin zChaff Siege Macaulay2 Erable Fermat Magma GRASP Chaff BCSAT PARI/GP KASH/KANT WalkSAT SATO [SATO webpage, ] FORM Derive Mathematica Mathomatic MathHandbook CoCoA 1990 GAP SAC Mathcad Maple muMATH SMP Macsyma 1980 ICAPS’18 Tool development (incomplete!) Scratchpad/Axiom Computer algebra systems Altran Reduce 1970 MATHLAB Schoonschip “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!).” 1960 “The efficiency of our programs allowed us to solve over one hundred SAT solvers open quasigroup problems in design theory.” am,´ F. Leofante ´Abrah E. Community support: Standard input language. Large benchmark library. Competitions since 2002. 2017: 6 tracks, 28 solvers in the main track. 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. A wide range of applications, e.g., verification, synthesis, combinatorial optimization, etc. E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 8 / 74 Satisfiability checking for propositional logic Success story: SAT-solving Practical problems with millions of variables are solvable. A wide range of applications, e.g., verification, synthesis, combinatorial optimization, etc. Community support: Standard input language. Large benchmark library. Competitions since 2002. 2017: 6 tracks, 28 solvers in the main track. SAT Live! forum as community platform, dedicated conferences, journals, etc. E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 8 / 74 An impression of the SAT solver development Source: The International SAT Solver Competitions [Jarvisalo¨ et al., 2012] E. Abrah´ am,´ F. Leofante ICAPS’18 June 25, 2018 9 / 74 raSAT SMT-RAT SMCHR UCLID Clasp SMTInterpol SONOLAR MiniSmt STP veriT OpenCog OpenSMT SatEEn SWORD Boolector PicoSAT Spear Z3 Alt-Ergo Beaver ABsolver Yices CVC HySAT/iSAT DPT ICS Uclid MathSAT Barcelogic [zch, ] Simplify SVC [SATO webpage, ] “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!).” “The efficiency of our programs allowed us to solve over one hundred open quasigroup problems in design theory.” SMT solvers 2020 SyMAT Calcinator Fast SAT Solver FxSolver Symbolism Mathics Lingeling UBCSAT CAS TI-Nspire ofa Alpha Wolfram Glucose CryptoMiniSat MuPAD MATLAB ArgoSat OpenAxiom SymPy Cadabra 2010 Studio SMath SAGE Yacas Xcas/Giac HyperSat RSat Sat4j June 25, 2018 10 / 74 Maxima 2000 SymbolicC++ Singular MiniSAT Berkmin zChaff Siege Macaulay2 Erable Fermat Magma GRASP Chaff BCSAT PARI/GP KASH/KANT WalkSAT SATO FORM Derive Mathematica Mathomatic MathHandbook