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.
theorem
Function.Surjective.isEmpty
{α : Sort u_1}
{β : Sort u_2}
[IsEmpty α]
{f : α → β}
(hf : Function.Surjective f)
:
IsEmpty β
Eliminate out of a type that IsEmpty
(without using projection notation).
Equations
- isEmptyElim a = ⋯.elim
Instances For
Eliminate out of a type that IsEmpty
(using projection notation).
Equations
- x.elim a = isEmptyElim a
Instances For
Non-dependent version of IsEmpty.elim
. Helpful if the elaborator cannot elaborate h.elim a
correctly.
Equations
- h.elim' a = ⋯.elim
Instances For
@[instance 100]
Equations
- ⋯ = ⋯
theorem
Function.extend_of_isEmpty
{α : Sort u_1}
{β : Sort u_2}
{γ : Sort u_3}
[IsEmpty α]
(f : α → β)
(g : α → γ)
(h : β → γ)
:
Function.extend f g h = h