A Tactic Language for the System Coq

We propose a new tactic language for the system Coq, which is intended to enrich the current tactic combinators (tacticals). This language is based on a functional core with recursors and matching operators for Coq terms but also for proof contexts. It can be used directly in proof scripts or in toplevel definitions (tactic definitions). We show that the implementation of this language involves considerable changes in the interpretation of proof scripts, essentially due to the matching operators. We give some examples which solve small proof parts locally and some others which deal with non-trivial problems. Finally, we discuss the status of this meta-language with respect to the Coq language and the implementation language of Coq.

[1]  Eduardo Giménez,et al.  Types for Proofs and Programs: International Workshop TYPES'96, Aussois, France, December 15-19, 1996 Selected Papers , 1998 .

[2]  Roberto Di Cosmo Review of Isomorphisms of Types:: from λ-calculus to information retrieval and language design , 1997 .

[3]  Damien Doligez,et al.  The Objective Caml system release 2.04 , 2002 .

[4]  Yann Coscoy A Natural Language Explanation for Formal Proofs , 1996, LACL.

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

[6]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[7]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[8]  John Harrison,et al.  Proof Style , 1996, TYPES.

[9]  Roy Dyckhoff,et al.  Contraction-free sequent calculi for intuitionistic logic , 1992, Journal of Symbolic Logic.

[10]  Roberto Di Cosmo,et al.  Isomorphisms of Types , 1995, Progress in Theoretical Computer Science.

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

[12]  Donald Robert Syme Declarative theorem proving for operational semantics , 1999 .

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

[14]  Xavier Leroy The objective caml system release 3 , 2001 .

[15]  Christopher League Review of Isomorphisms of Types:: from λ-calculus to information retrieval and language design by Roberto Di Cosmo (Birkhauser, 1995) , 1997, SIGA.