Title:

An extended calculus of constructions

This thesis presents and studies a unifying theory of dependent types ECC  Extended Calculus of Constructions. ECC integrates CoquandHuet's (impredicative) calculus of constructions and MartinLof's (predicative) type theory with universes, and turns out to be a strong and expressive calculus for formalization of mathematics, structured proof development and program specification. The metatheory of ECC is studied and we show that the calculus has good metatheoretic properties. The main prooftheoretic result is the strong normalization theorem, proved by using GirardTait's reducibility method based on a quasi normalization theorem which makes explicit the predicativity of the predicative universes. The strong normalization results shows the prooftheoretic consistency of the calculus; in particular, it implies the consistency of the embedded intuitionistic higherorder logic and the decidability of the theory. The metatheoretic results establish the theoretical foundations both for pragmatic applications in theoremproving and program specification and for computer implementations of the theory. ECC has been implemented in the proof development system LEGO developed by Pollack. In ECC, dependent Σtypes are nonpropositional types residing in the predicative universes and propositions are lifted as higherlevel types as well. This solves the known difficulty that adding strong Σtypes to an impredicative system results in logical paradox and enables Σtypes to be used to express the intuitionistic notion of subsets. Σtypes together with type universes hence provide useful abstraction and module mechanisms for abstract description of mathematical theories and basic mechanisms for program specification and adequate formalization of abstract mathematics (e.g., abstract algebras and notions in category theory). A notion of (abstract) mathematical theory can be described and leads to a promising approach to abstract reasoning and structured reasoning. Program specifications can be expressed by Σtypes, using propositions in the embedded logic to describe program properties (for example, by an equality reflection result, computational equality can be modelled by the propositional Leibniz's equality definable in the theory). These developments allow comprehensive structuring of formal or rigorous development of proofs and programs. Also discussed is how the calculus can be understood settheoretically. We explain an ωSet (realizability) model of the theory. In particular, propositions can be interpreted as partial equivalence relations and the predicative type universes as corresponding to large set universes.
