Empty type

From HandWiki

In type theory, an empty type or absurd type, typically denoted 𝟘 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[2] For any type P, the type ¬P is defined as P𝟘. As the notation suggests, by the Curry–Howard correspondence, a term of type 𝟘 is a false proposition, and a term of type ¬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𝟘 is also uninhabited for any inhabited type 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 .

References

  1. 1.0 1.1 Univalent Foundations Program (2013). Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study. http://homotopytypetheory.org/book/. 
  2. 2.0 2.1 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. 87. pp. 253–262. doi:10.1145/41625.41648. ISBN 0897912152. https://dl.acm.org/doi/10.1145/41625.41648. Retrieved 25 October 2022. 
  3. Pierce, Benjamin C. (1997). "Bounded Quantification with Bottom". Indiana University CSCI Technical Report (492): 1. http://www.cis.upenn.edu/~bcpierce/papers/bqb.ps.