Empty type
Appearance
(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]- ^ a b Univalent Foundations Program (2013). Homotopy Type Theory: Univalent Foundations of Mathematics. Institute for Advanced Study.
- ^ 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.
- ^ Pierce, Benjamin C. (1997). "Bounded Quantification with Bottom". Indiana University CSCI Technical Report (492): 1.