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.