Explicit Universes for the Calculus of Constructions
The implicit universe hierarchy implemented in proof assistants such as Coq and Lego, although really needed, is painful, both for the implementer and the user: it interacts badly with modularity features, errors are difficult to report and to understand. Moreover, type-checking is quite complex.
We address these issues with a new calculus, the Explicit Polymorphic Extended Calculus of Constructions. EPECC is a conservative extension of Luo’s ECC with universe variables and explicit universe constraints declarations. EPECC behaves better with respect to error reporting and modularity than implicit universes, and also enjoys good metatheoretical properties, notably strong normalization and Church-Rosser properties. Type-inference and type-checking in EPECC are decidable. A prototype implementation is available.
KeywordsTyping Context Universe Variable Typing Judgment Applicable Rule Variable Declaration
Unable to display preview. Download preview PDF.
- 2.Thierry Coquand. An analysis of Girard’s paradox. In Proceedings of the First Symposium on Logic in Computer Science, Cambridge, MA, June 1986. IEEE Comp. Soc. Press.Google Scholar
- 3.Judicaël Courant. A Module Calculus for Pure Type Systems. In Typed Lambda Calculi and Applications’ 97, Lecture Notes in Computer Science, pages 112–128. Springer-Verlag, 1997.Google Scholar
- 4.Judicaël Courant. MC2: A Module Calculus for Pure Type Systems. Research Report 1292, LRI, September 2001.Google Scholar
- 5.James G. Hook and Douglas J. Howe. Impredicative Strong Existential Equivalent to Type:Type. Technical Report TR86-760, Cornell University, 1986.Google Scholar
- 6.R. Harper and R. Pollack. Type checking, universe polymorphism, and typical ambiguity in the calculus of constructions. Theoretical Computer Science, 89(1), 1991.Google Scholar
- 7.Paul B. Jackson. The Nuprl Proof Development System, Version 4.I Reference Manual and User’s Guide. Cornell University, Ithaca, NY, 1994.Google Scholar
- 8.Paul B. Jackson. Enhancing the Nuprl Proof Development System and Applying it to Computational Abstract Algebra. PhD thesis, Cornell University, 1995.Google Scholar
- 9.Zhaohui Luo. ECC: an Extended Calculus of Constructions. In Proceedings of the Fourth Annual Symposium on Logic in Computer Science, Pacific Grove, California, 1989. IEEE Comp. Soc. Press.Google Scholar
- 10.Zhaohui Luo. An Extended Calculus of Constructions. PhD thesis, University of Edinburgh, 1990.Google Scholar
- 11.Robin Milner, Mads Tofte, Robert Harper, and David MacQueen. The Definition of Standard ML (Revised). MIT Press, 1997.Google Scholar
- 12.M. Takahashi. Parallel reductions in λ-calculus. Technical report, Department of Information Science, Tokyo Institute of Technology, 1993. Internal report.Google Scholar
- 13.L.S. van Benthem Jutting, J. McKinna, and R. Pollack. Checking algorithms for pure type systems. In Types for Proofs and Programs: International Workshop TYPES’93, volume 806 of Lecture Notes in Computer Science, May 1993.Google Scholar