Higherorder abstract syntax in Coq
 Joëlle Despeyroux,
 Amy Felty,
 André Hirschowitz
 … show all 3 hide
Abstract
The terms of the simplytyped λcalculus can be used to express the higherorder abstract syntax of objects such as logical formulas, proofs, and programs. Support for the manipulation of such objects is provided in several programming languages (e.g. λProlog, Elf). Such languages also provide embedded implication, a tool which is widely used for expressing hypothetical judgments in natural deduction. In this paper, we show how a restricted form of secondorder syntax and embedded implication can be used together with induction in the Coq Proof Development system. We specify typing rules and evaluation for a simple functional language containing only function abstraction and application, and we fully formalize a proof of type soundness in the system. One difficulty we encountered is that expressing the higherorder syntax of an objectlanguage as an inductive type in Coq generates a class of terms that contains more than just those that directly represent objects in the language. We overcome this difficulty by defining a predicate in Coq that holds only for those terms that correspond to programs. We use this predicate to express and prove the adequacy for our syntax.
 A. Asperti and G. Longo. Categories, Types, and Structures. MIT Press, Foundations of Computing Series, London, England, 1991.
 A. Avron, F. Honsell, I. A. Mason, and R. Pollack. Using typed lambda calculus to implement formal systems on a machine. Journal of Automated Reasoning, 9(3):309–354, Dec. 1992. CrossRef
 J. Despeyroux and A. Hirschowitz. Higherorder syntax and induction in coq. In Proceedings of the fifth Int. Conf. on Logic Programming and Automated Reasoning (LPAR 94), Kiev, Ukraine, July 16–21, 1994, 1994. Also available as an INRIA Research Report RR2292, InriaSophiaAntipolis, France, June 1994.
 G. Dowek, A. Felty, H. Herbelin, G. Huet, C. Murthy, C. Parent, C. PaulinMohring, and B. Werner. The coq proof assistant user's guide. Technical Report 154, INRIA, 1993.
 A. Felty. A logic programming approach to implementing higherorder term rewriting. In L.H. Eriksson, L. Hallnäs, and P. SchroederHeister, editors, Proceedings of the January 1991 Workshop on Extensions to Logic Programming, pages 135–161. SpringerVerlag LNCS, 1992.
 A. Felty. Implementing tactics and tacticals in a higherorder logic programming language. Journal of Automated Reasoning, 11(1):43–81, Aug. 1993. CrossRef
 J. Hannan. Investigating a ProofTheoretic MetaLanguage for Functional Programs. PhD thesis, University of Pennsylvania, Technical Report MSCIS9109, Jan. 1991.
 J. Hannan and D. Miller. From operational semantics to abstract machines. Mathematical Structures in Computer Science, 2:415–459, 1992.
 J. Hannan and F. Pfenning. Compiler verification in LF. In Seventh Annual Symposium on Logic in Computer Science, pages 407–418, 1992.
 R. Harper, F. Honsell, and G. Plotkin. A framework for denning logics. Journal of the ACM, 40(1):143–184, Jan. 1993. CrossRef
 S. Michaylov and F. Pfenning. Natural semantics and some of its metatheory in elf. In L.H. Eriksson, L. Hallnäs, and P. SchroederHeister, editors, Proceedings of the January 1991 Workshop on Extensions to Logic Programming, pages 299–344. SpringerVerlag LNCS, 1992.
 D. Miller. Unification of simply typed lambdaterms as logic programming. In Eighth International Logic Programming Conference. MIT Press, 1991.
 C. PaulinMohring. Inductive definitions in the system Coq; rules and properties. In M. Bezem and J. F. Groote, editors, Proceedings of the International Conference on Typed Lambda Calculi and Applications, volume 664, pages 328–345. Springer Verlag Lecture Notes in Computer Science, 1993.
 F. Pfenning and E. Rohwedder. Implementing the metatheory of deductive systems. In Eleventh International Conference on Automated Deduction, pages 537–551. SpringerVerlag LNCS, 1992.
 Title
 Higherorder abstract syntax in Coq
 Book Title
 Typed Lambda Calculi and Applications
 Book Subtitle
 Second International Conference on Typed Lambda Calculi and Applications, TLCA '95 Edinburgh, United Kingdom, April 10–12, 1995 Proceedings
 Pages
 pp 124138
 Copyright
 1995
 DOI
 10.1007/BFb0014049
 Print ISBN
 9783540590484
 Online ISBN
 9783540491781
 Series Title
 Lecture Notes in Computer Science
 Series Volume
 902
 Series ISSN
 03029743
 Publisher
 Springer Berlin Heidelberg
 Copyright Holder
 SpringerVerlag
 Additional Links
 Topics
 Industry Sectors
 eBook Packages
 Editors
 Authors

 Joëlle Despeyroux ^{(1)}
 Amy Felty ^{(2)}
 André Hirschowitz ^{(3)}
 Author Affiliations

 1. SophiaAntipolis, INRIA, 2004 Route des Lucioles, F06565, Valbonne Cedex, France
 2. AT&T Bell Laboratories, 600 Mountain Ave., 07974, Murray Hill, NJ, USA
 3. CNRS URA 168, University of Nice, 06108, Nice Cedex 2, France
Continue reading...
To view the rest of this content please follow the download PDF link above.