Abstract
In the pure Calculus of Constructions, it is possible to represent data structures and predicates using higher-order quantification. However, this representation is not satisfactory, from the point of view of both the efficiency of the underlying programs and the power of the logical system. For these reasons, the calculus was extended with a primitive notion of inductive definitions [8]. This paper describes the rules for inductive definitions in the system Coq. They are general enough to be seen as one formulation of adding inductive definitions to a typed lambda-calculus. We prove strong normalization for a subsystem of Coq corresponding to the pure Calculus of Constructions plus Inductive Definitions with only weak eliminations.
This research was partly supported by ESPRIT Basic Research Action “Types for Proofs and Programs” and by Programme de Recherche Coordonnées “Programmation avancée et Outils pour l'Intelligence Artificielle”.
Preview
Unable to display preview. Download preview PDF.
References
Ph. Audebaud. Partial objects in the calculus of constructions. In Proceedings of the sixth Conf. on Logic in Computer Science. IEEE, 1991.
Ph. Audebaud. Extension du Calcul des Constructions par Points fixes. PhD thesis, Université Bordeaux I, 1992.
H. Barendregt. Lambda calculi with types. Technical Report 91–19, Catholic University Nijmegen, 1991. in Handbook of Logic in Computer Science, Vol II.
C. Böhm and A. Berarducci. Automatic synthesis of typed λ-programs on term algebras. Theoretical Computer Science, 39, 1985.
R.L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, 1986.
Th. Coquand. Metamathematical investigations of a Calculus of Constructions. In P. Oddifredi, editor, Logic and Computer Science. Academic Press, 1990. Rapport de recherche INRIA 1088, also in [11].
Th. Coquand. Pattern matching with dependent types. In Nordström et al. [17].
Th. Coquand and C. Paulin-Mohring. Inductively defined types. In P. Martin-Löf and G. Mints, editors, Proceedings of Colog'88. Springer-Verlag, 1990. LNCS 417.
P. Dybjer. Comparing integrated and external logics of functional programs. Science of Computer Programming, 14:59–79, 1990.
G. Dowek et al. The Coq Proof Assistant User's Guide Version 5.6. Rapport Technique 134, INRIA, December 1991.
G. Huet ed. The Calculus of Constructions, Documentation and user's guide, Version V4.10, 1989. Rapport technique INRIA 110.
H. Geuvers. Type systems for Higher Order Logic. Faculty of Mathematics and Informatics, Catholic University Nijmegen, 1990.
H. Geuvers and M.-J. Nederhof. A modular proof of strong normalization for the Calculus of Constructions. Faculty of Mathematics and Informatics, Catholic University Nijmegen, 1989.
Z. Luo and R. Pollack. Lego proof development syste: User's manual. Technical Report ECS-LFCS-92-211, University of Edinburgh., 1992.
L. Magnusson. The new implementation of ALF. In Nordström et al. [17].
N. Mendler. Recursive types and type constraints in second order lambda-calculus. In Symposium on Logic in Computer Science, Ithaca, NY, 1987. IEEE.
B. Nordström, K. Petersson, and G. Plotkin, editors. Proceedings of the 1992 Workshop on Types for Proofs and Programs, 1992.
P. Martin-Löf. Intuitionistic Type Theory. Studies in Proof Theory. Bibliopolis, 1984.
M. Parigot. On the representation of data in lambda-calculus. In CSL'89, volume 440 of LNCS, Kaiserslautern, 1989. Springer-Verlag.
C. Paulin-Mohring. Extracting F ω's programs from proofs in the Calculus of Constructions. In Association for Computing Machinery, editor, Sixteenth Annual ACM Symposium on Principles of Programming Languages, Austin, January 1989.
C. Paulin-Mohring. Extraction de programmes dans le Calcul des Constructions. PhD thesis, Université Paris 7, January 1989.
F. Pfenning and C. Paulin-Mohring. Inductively defined types in the Calculus of Constructions. In Proceedings of Mathematical Foundations of Programming Semantics, LNCS 442. Springer-Verlag, 1990. also technical report CMU-CS-89-209.
B. Werner. A normalization proof for an impredicative type system with large elimination over integers. In Nordström et al. [17].
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Paulin-Mohring, C. (1993). Inductive definitions in the system Coq rules and properties. In: Bezem, M., Groote, J.F. (eds) Typed Lambda Calculi and Applications. TLCA 1993. Lecture Notes in Computer Science, vol 664. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0037116
Download citation
DOI: https://doi.org/10.1007/BFb0037116
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-56517-8
Online ISBN: 978-3-540-47586-6
eBook Packages: Springer Book Archive