Formal Verification of a Combination Decision Procedure

Decision procedures for combinations of theories are at the core of many modern theorem provers such as ACL2, Ehdm, PVS, SIMPLIFY, the Stanford Pascal Verifier, STeP, SVC, and Z/Eves. Shostak, in 1984, published a decision procedure for the combination of canonizable and solvable theories. Recently, Ruess and Shankar showed Shostak’s method to be incomplete and nonterminating, and presented a correct version of Shostak’s algorithm along with informal proofs of termination, soundness, and completeness. We describe a formalization and mechanical verification of these proofs using the PVS verification system. The formalization itself posed significant challenges and the verification revealed some gaps in the informal argument.

[1]  Natarajan Shankar,et al.  Towards mechanical metamathematics , 1985, Journal of Automated Reasoning.

[2]  Robin Milner,et al.  Edinburgh lcf: a mechanized logic of computation , 1978 .

[3]  Robert S. Boyer,et al.  Metafunctions: Proving Them Correct and Using Them Efficiently as New Proof Procedures. , 1979 .

[4]  Ian A. Mason,et al.  Operational Techniques in PVS - A Preliminary Evaluation , 2001, Electron. Notes Theor. Comput. Sci..

[5]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[6]  Michael J. C. Gordon,et al.  Edinburgh LCF: A mechanised logic of computation , 1979 .

[7]  Robert E. Shostak,et al.  Deciding Combinations of Theories , 1982, JACM.

[8]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.

[9]  16th Annual IEEE Symposium on Logic in Computer Science, Boston, Massachusetts, USA, June 16-19, 2001, Proceedings , 2001, LICS.

[10]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

[11]  Robert S. Boyer,et al.  Computational Logic , 1990, ESPRIT Basic Research Series.

[12]  Ian A. Mason,et al.  Establishing a General Context Lemma in PVS , .

[13]  Natarajan Shankar,et al.  On Shostak's Decision Procedure for Combinations of Theories , 1996, CADE.

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

[15]  Harald Ruess,et al.  Case Studies in Meta-Level Theorem Proving , 1998, TPHOLs.

[16]  Laurent Théry,et al.  A Certified Version of Buchberger's Algorithm , 1998, CADE.

[17]  Jean Goubault-Larrecq,et al.  Reflecting BDDs in Coq , 2000, ASIAN.

[18]  Natarajan Shankar,et al.  Deconstructing Shostak , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.