To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
Show all languages
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.

From Wikipedia, the free encyclopedia

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 (or dependencies between the sorts). They were both proved inconsistent by Jean-Yves Girard in 1972.[1] 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[2]: 352  as a pure type system with

  • three sorts ;
  • two axioms ; and
  • five rules .

System U is defined the same with the exception of the rule.

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.

  1. All values have a type, such as a base type (e.g. is read as “b is a boolean”) or a (dependent) function type (e.g. is read as “f is a function from natural numbers to booleans”).
  2. is the sort of all such types ( is read as “t is a type”). From we can build more terms, such as which is the kind of unary type-level operators (e.g. is read as “List is a function from types to types”, that is, a polymorphic type). The rules restrict how we can form new kinds.
  3. is the sort of all such kinds ( is read as “k is a kind”). Similarly we can build related terms, according to what the rules allow.
  4. is the sort of all such terms.

The rules govern the dependencies between the sorts: says that values may depend on values (functions), allows values to depend on types (polymorphism), allows types to depend on types (type operators), and so on.

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 be[2]: 353  (where k denotes a kind variable)


This 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 Russell's paradox in set theory.


  1. ^ Girard, Jean-Yves (1972). "Interprétation fonctionnelle et Élimination des coupures de l'arithmétique d'ordre supérieur" (PDF). Cite journal requires |journal= (help)
  2. ^ a b Sørensen, Morten Heine; Urzyczyn, Paweł (2006). "Pure type systems and the lambda cube". Lectures on the Curry–Howard isomorphism. Elsevier. doi:10.1016/S0049-237X(06)80015-7. ISBN 0-444-52077-5.

Further reading

This page was last edited on 10 December 2021, at 22:22
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.