Higher-order abstract syntax with induction in Coq - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Reports (Research Report) Year : 1994

Higher-order abstract syntax with induction in Coq


Three important properties of Higher-Order Abstract Syntax are the (higher-order) induction principle, which allows proofs by induction, the (higher-order) injection principle, which asserts that equal terms have equal heads and equal sons, and the extensionality principle, which asserts that functional terms which are pointwise equal are equal. Higher-order abstract syntax is implemented for instance in the Edinburgh Logical Framework and the above principles are satisfied by this implementation. But although they can be proved at the meta level, they cannot be proved at the object level and furthermore, it is not so easy to know how to formulate them in a simple way at the object level. We explain here how Second-Order Abstract Syntax can be implemented in a more powerful type system (Coq) in such a way as to make available or provable (at the object level) the corresponding induction, injection and extensionality principles.
Fichier principal
Vignette du fichier
RR-2292.pdf (268.72 Ko) Télécharger le fichier

Dates and versions

inria-00074381 , version 1 (24-05-2006)


  • HAL Id : inria-00074381 , version 1


Joëlle Despeyroux, André Hirschowitz. Higher-order abstract syntax with induction in Coq. [Research Report] RR-2292, INRIA. 1994. ⟨inria-00074381⟩
43 View
151 Download


Gmail Facebook Twitter LinkedIn More