Types that are empty #
In this file we define a typeclass IsEmpty
, which expresses that a type has no elements.
Main declaration #
IsEmpty
: a typeclass that expresses that a type is empty.
Equations
Eliminate out of a type that IsEmpty
(without using projection notation).
Equations
- isEmptyElim a = (_ : False).elim
Instances For
Eliminate out of a type that IsEmpty
(using projection notation).
Equations
- IsEmpty.elim x a = isEmptyElim a
Instances For
Non-dependent version of IsEmpty.elim
. Helpful if the elaborator cannot elaborate h.elim a
correctly.
Equations
- IsEmpty.elim' h a = (_ : False).elim
Instances For
Equations
- (_ : Subsingleton α) = (_ : Subsingleton α)
theorem
Function.extend_of_isEmpty
{α : Sort u_1}
{β : Sort u_2}
{γ : Sort u_3}
[IsEmpty α]
(f : α → β)
(g : α → γ)
(h : β → γ)
:
Function.extend f g h = h