System U
In mathematical logic, System U and System U− are pure type systems, i.e. special forms of a typed [lambda calculus] with an arbitrary number of sorts, axioms and rules.
System U was proved inconsistent by Jean-Yves Girard in 1972. This result led to the realization that Martin-Löf's original 1971 type theory was inconsistent, as it allowed the same "type in type" behaviour that Girard's paradox exploits.
Formal definition
System U is defined as a pure type system with- three sorts ;
- two axioms ; and
- five rules.
The sorts and are conventionally called “type” and “kind”, respectively; the sort doesn't have a specific name. The two axioms describe the containment of types in kinds and kinds in . Intuitively, the sorts describe a hierarchy in the nature of the terms.
- All values have a type, such as a base type or a function type.
- is the sort of all such types. From we can build more terms, such as which is the kind of unary type-level operators. The rules restrict how we can form new kinds.
- is the sort of all such kinds. Similarly we can build related terms, according to what the rules allow.
- is the sort of all such terms.
Girard's paradox
The definitions of System U and U− allow the assignment of polymorphic kinds to generic constructors in analogy to polymorphic types of terms in classical polymorphic lambda calculi, such as System F. An example of such a generic constructor might beThis mechanism is sufficient to construct a term with the type, which implies that every type is inhabited. By the Curry–Howard correspondence, this is equivalent to all logical propositions being provable, which makes the system inconsistent.
Girard's paradox is the type-theoretic analogue of the Burali-Forti paradox in set theory.