The Strategy Challenge in SMT Solving

High-performance SMT solvers contain many tightly integrated, hand-crafted heuristic combinations of algorithmic proof methods. While these heuristic combinations tend to be highly tuned for known classes of problems, they may easily perform badly on classes of problems not anticipated by solver developers. This issue is becoming increasingly pressing as SMT solvers begin to gain the attention of practitioners in diverse areas of science and engineering. We present a challenge to the SMT community: to develop methods through which users can exert strategic control over core heuristic aspects of SMT solvers. We present evidence that the adaptation of ideas of strategy prevalent both within the Argonne and LCF theorem proving paradigms can go a long way towards realizing this goal.

[1]  William McCune,et al.  Solution of the Robbins Problem , 1997, Journal of Automated Reasoning.

[2]  Paul B. Jackson,et al.  Combined Decision Techniques for the Existential Theory of the Reals , 2009, Calculemus/MKM.

[3]  David A. Plaisted The Search Efficiency of Theorem Proving Strategies , 1994, CADE.

[4]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[5]  J. Hickey The MetaPRL Logical Programming Environment , 2000 .

[6]  Nikolaj Bjørner,et al.  Automated Deduction - CADE-23 - 23rd International Conference on Automated Deduction, Wroclaw, Poland, July 31 - August 5, 2011. Proceedings , 2011, CADE.

[7]  Larry Wos,et al.  Efficiency and Completeness of the Set of Support Strategy in Theorem Proving , 1965, JACM.

[8]  L. Wos,et al.  The unit preference strategy in theorem proving , 1899, AFIPS '64 (Fall, part I).

[9]  Andreas Seidl,et al.  Efficient projection orders for CAD , 2004, ISSAC '04.

[10]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[11]  Christopher W. Brown QEPCAD B: a system for computing with semi-algebraic sets via cylindrical algebraic decomposition , 2004, SIGS.

[12]  Frank Pfenning,et al.  Logic Programming and Automated Reasoning , 1994, Lecture Notes in Computer Science.

[13]  Lawrence C. Paulson,et al.  Logic And Computation , 1987 .

[14]  Martin D. Davis,et al.  The Early History of Automated Deduction , 2001, Handbook of Automated Reasoning.

[15]  L. D. Moura,et al.  Relevancy Propagation , 2007 .

[16]  Anuj Dawar,et al.  How the World Computes , 2012, Lecture Notes in Computer Science.

[17]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[18]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[19]  Michael J. C. Gordon,et al.  From LCF to HOL: a short history , 2000, Proof, Language, and Interaction.

[20]  Roberto Bruttomesso,et al.  To Ackermann-ize or Not to Ackermann-ize? On Efficiently Handling Uninterpreted Function Symbols in SMT(EUF ÈT) , 2006, LPAR.

[21]  Grant Olney Passmore,et al.  Combined decision procedures for nonlinear arithmetics, real and complex , 2011 .

[22]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[23]  Ewing L. Lusk,et al.  Controlling Redundancy in Large Search Spaces: Argonne-Style Theorem Proving Through the Years , 1992, LPAR.

[24]  Maria Paola Bonacina,et al.  Distributed Theorem Proving by Peers , 1994, CADE.

[25]  Hao Wang,et al.  Toward Mechanical Mathematics , 1960, IBM J. Res. Dev..

[26]  Robin Milner,et al.  Logic for Computable Functions: description of a machine implementation. , 1972 .

[27]  Marco Bozzano,et al.  MathSAT: Tight Integration of SAT and Mathematical Decision Procedures , 2005, Journal of Automated Reasoning.

[28]  Dag Prawitz,et al.  An improved proof procedure1 , 2008 .

[29]  Volker Weispfenning,et al.  Quantifier Elimination for Real Algebra — the Quadratic Case and Beyond , 1997, Applicable Algebra in Engineering, Communication and Computing.

[30]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[31]  César A. Muñoz,et al.  The proof monad , 2010, J. Log. Algebraic Methods Program..

[32]  Maria Paola Bonacina,et al.  On the Modelling of Search in Theorem Proving - Towards a Theory of Strategy Analysis , 1998, Inf. Comput..

[33]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[34]  Maria Paola Bonacina,et al.  A Taxonomy of Theorem-Proving Strategies , 1999, Artificial Intelligence Today.

[35]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[36]  Paul B. Jackson,et al.  Abstract Partial Cylindrical Algebraic Decomposition I: The Lifting Phase , 2012, CiE.

[37]  Michael Wooldridge,et al.  Artificial Intelligence Today , 1999, Lecture Notes in Computer Science.

[38]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[39]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[40]  Allen Newell,et al.  Elements of a theory of human problem solving. , 1958 .

[41]  Lawrence C. Paulson,et al.  Isabelle: The Next 700 Theorem Provers , 2000, ArXiv.

[42]  S. P. Luttik,et al.  Specification of rewriting strategies , 1997 .

[43]  Alan Bundy,et al.  Automated Deduction — CADE-12 , 1994, Lecture Notes in Computer Science.

[44]  Lawrence C. Paulson,et al.  Logic and computation - interactive proof with Cambridge LCF , 1987, Cambridge tracts in theoretical computer science.

[45]  Aart Middeldorp,et al.  Satisfiability of Non-linear (Ir)rational Arithmetic , 2010, LPAR.

[46]  Nikolaj Bjørner,et al.  Satisfiability modulo theories , 2011, Commun. ACM.

[47]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[48]  Maria Davis,et al.  Eliminating the irrelevant from mechanical proofs , 1963 .

[49]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[50]  Leonardo Mendonça de Moura,et al.  Cutting to the Chase , 2011, Journal of Automated Reasoning.

[51]  Paul C. Gilmore,et al.  A Proof Method for Quantification Theory: Its Justification and Realization , 1960, IBM J. Res. Dev..

[52]  Hendrik P. van Dalen,et al.  Elements of a Theory , 1992 .

[53]  Andrea Asperti,et al.  The Matita Interactive Theorem Prover , 2011, CADE.

[54]  Martin Davis Chapter 1 – The Early History of Automated Deduction: Dedicated to the memory of Hao Wang , 2001 .