Certifying and Synthesizing Membership Equational Proofs

As the systems we have to specify and verify become larger and more complex, there is a mounting need to combine different tools and decision procedures to accomplish large proof tasks. The problem, then, is how to be sure that we can trust heterogeneous proofs produced by different tools based on different formalisms. In this work we focus on certification and synthesis of equational proofs, that are pervasive in most proof tasks and for which many tools are poorly equipped. Fortunately, equational proof engines like ELAN and Maude can perform millions of equational proof steps per second which, if properly certified, can be trusted by other tools. We present a general method to certify and synthesize proofs in membership equational logic, where the synthesis may involve generating full proofs from proof traces modulo combinations of associativity, commutativity, and identity axioms. We propose a simple representation for proof objects and give algorithms that can synthesize space-efficient, machine-checkable proof objects from proof traces.

[1]  J. Meseguer,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[2]  José Meseguer,et al.  Membership algebra as a logical framework for equational specification , 1997, WADT.

[3]  Natarajan Shankar,et al.  PVS: Combining Specification, Proof Checking, and Model Checking , 1996, FMCAD.

[4]  Claude Kirchner,et al.  ELAN from a rewriting logic point of view , 2002, Theor. Comput. Sci..

[5]  Grigore Rosu,et al.  Complete Categorical Equational Deduction , 2001, CSL.

[6]  Roberto Bruni,et al.  Generalized Rewrite Theories , 2003, ICALP.

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

[8]  Hendrik Pieter Barendregt,et al.  Autarkic Computations in Formal Proofs , 2002, Journal of Automated Reasoning.

[9]  Mark-Oliver Stehr,et al.  Programming, specification, and interactive theorem proving : towards a unified language based on equational logic, rewriting logic, and type theory , 2002 .

[10]  Andrzej Tarlecki,et al.  Towards Heterogeneous Specifications , 1998, FroCoS.

[11]  Narciso Martí-Oliet,et al.  From Abstract Data Types to Logical Frameworks , 1994, COMPASS/ADT.

[12]  Narciso Martí-Oliet,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[13]  Grigore Rosu,et al.  Institution Morphisms , 2013, Formal Aspects of Computing.

[14]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[15]  José Meseguer,et al.  A logical theory of concurrent objects and its realization in the Maude language , 1993 .

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

[17]  José Meseguer,et al.  Specification and proof in membership equational logic , 2000, Theor. Comput. Sci..

[18]  Rance Cleaveland,et al.  Implementing mathematics with the Nuprl proof development system , 1986 .

[19]  José Meseguer,et al.  The HOL/NuPRL Proof Translator (A Practical Approach to Formal Interoperability) , 2001, TPHOLs.

[20]  Hans-Jörg Kreowski,et al.  Recent Trends in Data Type Specification , 1985, Informatik-Fachberichte.

[21]  Till Mossakowski Heterogeneous Development Graphs and Heterogeneous Borrowing , 2002, FoSSaCS.

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