Empty type

From Wikipedia, the free encyclopedia
(Redirected from Java.lang.Void)

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 [2]

For any type , the type is defined as . As the notation suggests, by the Curry–Howard correspondence, a term of type is a false proposition, and a term of type 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, is also uninhabited for any inhabited type .

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[edit]

  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.