Empty type

In type theory, an empty type or absurd type, typically denoted 0 {\displaystyle \mathbb {0} } is a type with no terms. Such a type may be defined as the nullary coproduct (i.e. disjoint sum of no types).[1] It may also be defined as the polymorphic type t . t {\displaystyle \forall t.t} [2]

For any type P {\displaystyle P} , the type ¬ P {\displaystyle \neg P} is defined as P 0 {\displaystyle P\to \mathbb {0} } . As the notation suggests, by the Curry–Howard correspondence, a term of type 0 {\displaystyle \mathbb {0} } is a false proposition, and a term of type ¬ P {\displaystyle \neg P} is a disproof of proposition P.[1]

A type theory need not contain an empty type. Where it exists, an empty type is not generally unique.[2] For instance, T 0 {\displaystyle T\to \mathbb {0} } is also uninhabited for any inhabited type T {\displaystyle T} .

If a type system contains an empty type, the bottom type must be uninhabited too,[3] so no distinction is drawn between them and both are denoted {\displaystyle \bot } .

References

  1. ^ a b Univalent Foundations Program (2013). Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study.
  2. ^ a b Meyer, A. R.; Mitchell, J. C.; Moggi, E.; Statman, R. (1987). "Empty types in polymorphic lambda calculus". Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages - POPL '87. Vol. 87. pp. 253–262. doi:10.1145/41625.41648. ISBN 0897912152. S2CID 26425651. Retrieved 25 October 2022.
  3. ^ Pierce, Benjamin C. (1997). "Bounded Quantification with Bottom". Indiana University CSCI Technical Report (492): 1.
  • v
  • t
  • e