Certifying Term Rewriting Proofs in ELAN

Abstract Term rewriting has been shown to be a good environment for both programming and proving. For analysing and debugging rule-based programs, we propose in this work a formalism based on the rewriting calculus with explicit substitutions ( ρσ -calculus). This formalism also allows us to build the proof terms of rewriting derivations. Therefore, term rewriting proofs can be exported to other systems by translating them into the corresponding syntaxes. That is, using a proof checker, one can certify these proofs and vice versa, this method allows us to get term rewriting in proof assistants using an external system. Our method not only works with syntactic rewriting but also with rewriting modulo a set of axioms ( e.g . associativity-commutativity).

[1]  Paliath Narendran,et al.  Complexity of Matching Problems , 1987, J. Symb. Comput..

[2]  Jean-Yves Moyen System Presentation: An Analyser of Rewriting Systems Complexity , 2001, Electron. Notes Theor. Comput. Sci..

[3]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[4]  Horatiu Cirstea,et al.  Calcul de réécriture : fondements et applications , 2000 .

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

[6]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[7]  Samuel Boutin,et al.  Using Reflection to Build Efficient and Certified Decision Procedures , 1997, TACS.

[8]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[9]  Jan M. Smith,et al.  Optimized Encodings of Fragments of Type Theory in First-Order Logic , 1995, Journal of Logic and Computation.

[10]  Christine Paulin-Mohring,et al.  Extracting ω's programs from proofs in the calculus of constructions , 1989, POPL '89.

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

[12]  Claude Kirchner,et al.  The Rho Cube , 2001, FoSSaCS.

[13]  Fabio Gadducci,et al.  On The Algebraic Approach To Concurrent Term Rewriting , 1996 .

[14]  Christine Paulin-Mohring,et al.  Inductive Definitions in the system Coq - Rules and Properties , 1993, TLCA.

[15]  Jean-Jacques Lévy,et al.  Confluence properties of weak and strong calculi of explicit substitutions , 1996, JACM.

[16]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[17]  Tobias Nipkow,et al.  Proof Terms for Simply Typed Higher Order Logic , 2000, TPHOLs.

[18]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[19]  Q. Nguyen,et al.  ELAN for equational reasoning in Coq , 2000 .

[20]  Wai Wong,et al.  Validation of HOL Proofs by Proof Checking , 1999, Formal Methods Syst. Des..

[21]  Tobias Nipkow,et al.  Ordered Rewriting and Confluence , 1990, CADE.

[22]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[23]  Ewen Denney A Prototype Proof Translator from HOL to Coq , 2000, TPHOLs.