Expressiveness + Automation + Soundness: Towards Combining SMT Solvers and Interactive Proof Assistants

Formal system development needs expressive specification languages, but also calls for highly automated tools. These two goals are not easy to reconcile, especially if one also aims at high assurances for correctness. In this paper, we describe a combination of Isabelle/HOL with a proof-producing SMT (Satisfiability Modulo Theories) solver that contains a SAT engine and a decision procedure for quantifier-free first-order logic with equality. As a result, a user benefits from the expressiveness of Isabelle/HOL when modeling a system, but obtains much better automation for those fragments of the proofs that fall within the scope of the (automatic) SMT solver. Soundness is not compromised because all proofs are submitted to the trusted kernel of Isabelle for certification. This architecture is straightforward to extend for other interactive proof assistants and proof-producing reasoners.

[1]  Damián Barsotti,et al.  Verification of Clock Synchronization Algorithms: Experiments on a Combination of Deductive Tools , 2006, Electron. Notes Theor. Comput. Sci..

[2]  Silvio Ranise,et al.  Light-weight theorem proving for debugging and verifying units of code , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[3]  Alwen Tiu A Formalization of a Generalized Clock Synchronization Protocol in Isabelle/HOL , 2005 .

[4]  Alwen Tiu,et al.  Formalization of a Generalized Protocol for Clock Synchronization , 2005, Arch. Formal Proofs.

[5]  Andreas Meier System Description: TRAMP: Transformation of Machine-Found Proofs into ND-Proofs at the Assertion Level , 2000, CADE.

[6]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[7]  George C. Necula,et al.  Efficient representation and validation of proofs , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

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

[9]  Tjark Weber,et al.  Using a SAT Solver as a Fast Decision Procedure for Propositional Logic in an LCF-style Theorem Prover? , 2005 .

[10]  Lawrence C. Paulson,et al.  Automation for interactive proof: First prototype , 2006, Inf. Comput..

[11]  David G. Mitchell,et al.  A SAT Solver Primer , 2005, Bull. EATCS.

[12]  Sharad Malik,et al.  Validating SAT solvers using an independent resolution-based checker: practical implementations and other applications , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[13]  C. Tinelli,et al.  The SMT-LIB Standard : Version 1 . 0 Working Draft , 2004 .

[14]  Assia Mahboubi Programming and certifying a CAD algorithm in the Coq system , 2005, Mathematics, Algorithms, Proofs.

[15]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[16]  Marco Bozzano,et al.  The MathSAT 3 System , 2005, CADE.

[17]  Cesare Tinelli,et al.  The SMT-LIB Standard: Version 1.2 , 2005 .

[18]  G. Necula,et al.  Eecient Representation and Validation of Proofs , 1998 .

[19]  George C. Necula,et al.  Compiling with proofs , 1998 .

[20]  Claude Kirchner,et al.  External Rewriting for Skeptical Proof Assistants , 2003, Journal of Automated Reasoning.

[21]  Volker Sorge,et al.  Proof Development with OMEGA , 2002, CADE.

[22]  Natarajan Shankar,et al.  ICS: Integrated Canonizer and Solver , 2001, CAV.

[23]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

[24]  Sergey Berezin,et al.  CVC Lite: A New Implementation of the Cooperating Validity Checker Category B , 2004, CAV.

[25]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[26]  Pascal Fontaine Techniques for verification of concurrent systems with invariants , 2004 .

[27]  Hans de Nivelle,et al.  Automated Proof Construction in Type Theory Using Resolution , 2000, CADE.

[28]  Jean Goubault-Larrecq,et al.  Normal Form Transformations , 2001, Handbook of Automated Reasoning.

[29]  Joe Hurd Integrating Gandalf and HOL , 1999, TPHOLs.

[30]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[31]  Albert Oliveras,et al.  Union-Find and Congruence Closure Algorithms that Produce Proofs , 2004 .

[32]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[33]  Pascal Fontaine,et al.  Using BDDs with Combinations of Theories , 2002, LPAR.

[34]  Hans de Nivelle,et al.  Automated Proof Construction in Type Theory Using Resolution , 2000, Journal of Automated Reasoning.