Inductive Types in the Calculus of Algebraic Constructions
- First Online:
In a previous work, we proved that almost all of the Calculus of Inductive Constructions (CIC), the basis of the proof assistant Coq, can be seen as a Calculus of Algebraic Constructions (CAC), an extension of the Calculus of Constructions with functions and predicates defined by higher-order rewrite rules. In this paper, we prove that CIC as a whole can be seen as a CAC, and that it can be extended with non-strictly positive types and inductive-recursive types together with non-free constructors and pattern-matching on defined symbols.
Unable to display preview. Download preview PDF.
- 1.A. Abel. Termination checking with types. Technical Report 0201, Ludwig Maximilians Universität, München, Germany, 2002.Google Scholar
- 2.F. Barbanera, M. Fernández, and H. Geuvers. Modularity of strong normalization and confluence in the algebraic-λ-cube. In Proceedings of the 9th IEEE Symposium on Logic in Computer Science, 1994.Google Scholar
- 3.H. Barendregt. Lambda calculi with types. In S. Abramski, D. Gabbay, and T. Maibaum, editors, Handbook of logic in computer science, volume 2. Oxford University Press, 1992.Google Scholar
- 4.F. Blanqui. Definitions by rewriting in the Calculus of Constructions (extended abstract). In Proceedings of the 16th IEEE Symposium on Logic in Computer Science, 2001.Google Scholar
- 5.F. Blanqui. Théorie des Types et Récriture. PhD thesis, Université Paris XI, Orsay, France, 2001. Available in english as “Type Theory and Rewriting”.Google Scholar
- 6.F. Blanqui. Definitions by rewriting in the Calculus of Constructions, 2003. Journal submission, 68 pages.Google Scholar
- 7.F. Blanqui. A short and flexible strong normalization proof for the Calculus of Algebraic Constructions with curried rewriting, 2003. Draft.Google Scholar
- 8.T. Coquand. Pattern matching with dependent types. In Proceedings of the International Workshop on Types for Proofs and Programs, 1992. http://www.lfcs.informatics.ed.ac.uk/research/types-bra/proc/.
- 10.T. Coquand and C. Paulin-Mohring. Inductively defined types. In Proceedings of the International Conference on Computer Logic, Lecture Notes in Computer Science 417, 1988.Google Scholar
- 11.N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B, chapter 6. North-Holland, 1990.Google Scholar
- 13.J.-Y. Girard, Y. Lafont, and P. Taylor. Proofs and Types. Cambridge University Press, 1988.Google Scholar
- 15.J.-P. Jouannaud and M. Okada. Executable higher-order algebraic specification languages. In Proceedings of the 6th IEEE Symposium on Logic in Computer Science, 1991.Google Scholar
- 18.C. McBride. Dependently typed functional programs and their proofs. PhD thesis, University of Edinburgh, United Kingdom, 1999.Google Scholar
- 19.N. P. Mendler. Inductive Definition in Type Theory. PhD thesis, Cornell University, United States, 1987.Google Scholar
- 20.C. Paulin-Mohring. Personal communication, 2001.Google Scholar
- 21.R. Pollack. Dependently typed records in type theory. Formal Aspects of Computing, 13(3–5):341–363, 2002.Google Scholar
- 23.B. Werner. Une Théorie des Constructions Inductives. PhD thesis, Université Paris VII, France, 1994.Google Scholar