In wikipedia, the bottom type is simply defined as "the type that has no values". However, if b
is this empty type, then the product type (b,b)
has no values either, but seems different from b
. I agree bottom is uninhabited, but I don't think this property suffices to define it.
By the Curry-Howard correspondence, bottom is associated to mathematical falsity. Now there is a logical principle stating that from False follows any proposition. By Curry-Howard, that means the type forall a. bottom -> a
is inhabited, ie there exists a family of functions f :: forall a. bottom -> a
.
What are those functions f
? Do they help define bottom, maybe as the infinite product of all types forall a. a
?