Module docstring
{"# The empty category
Defines a category structure on PEmpty, and the unique functor PEmpty ⥤ C for any category C.
"}
{"# The empty category
Defines a category structure on PEmpty, and the unique functor PEmpty ⥤ C for any category C.
"}
CategoryTheory.instIsEmptyDiscrete
instance
(α : Type*) [IsEmpty α] : IsEmpty (Discrete α)
instance (α : Type*) [IsEmpty α] : IsEmpty (Discrete α) := Function.isEmpty Discrete.as
CategoryTheory.functorOfIsEmpty
definition
[IsEmpty C] : C ⥤ D
/-- The (unique) functor from an empty category. -/
def functorOfIsEmpty [IsEmpty C] : C ⥤ D where
obj := isEmptyElim
map := fun {X} ↦ isEmptyElim X
map_id := fun {X} ↦ isEmptyElim X
map_comp := fun {X} ↦ isEmptyElim X
CategoryTheory.Functor.isEmptyExt
definition
[IsEmpty C] (F G : C ⥤ D) : F ≅ G
/-- Any two functors out of an empty category are isomorphic. -/
def Functor.isEmptyExt [IsEmpty C] (F G : C ⥤ D) : F ≅ G :=
NatIso.ofComponents isEmptyElim (fun {X} ↦ isEmptyElim X)
CategoryTheory.equivalenceOfIsEmpty
definition
[IsEmpty C] [IsEmpty D] : C ≌ D
/-- The equivalence between two empty categories. -/
def equivalenceOfIsEmpty [IsEmpty C] [IsEmpty D] : C ≌ D where
functor := functorOfIsEmpty C D
inverse := functorOfIsEmpty D C
unitIso := Functor.isEmptyExt _ _
counitIso := Functor.isEmptyExt _ _
functor_unitIso_comp := isEmptyElim
CategoryTheory.emptyEquivalence
definition
: Discrete.{w} PEmpty ≌ Discrete.{v} PEmpty
/-- Equivalence between two empty categories. -/
def emptyEquivalence : DiscreteDiscrete.{w} PEmpty ≌ Discrete.{v} PEmpty := equivalenceOfIsEmpty _ _
CategoryTheory.Functor.empty
definition
: Discrete.{w} PEmpty ⥤ C
/-- The canonical functor out of the empty category. -/
def empty : DiscreteDiscrete.{w} PEmpty ⥤ C :=
Discrete.functor PEmpty.elim
CategoryTheory.Functor.emptyExt
definition
(F G : Discrete.{w} PEmpty ⥤ C) : F ≅ G
/-- Any two functors out of the empty category are isomorphic. -/
def emptyExt (F G : DiscreteDiscrete.{w} PEmpty ⥤ C) : F ≅ G :=
Discrete.natIso fun x => x.as.elim
CategoryTheory.Functor.uniqueFromEmpty
definition
(F : Discrete.{w} PEmpty ⥤ C) : F ≅ empty C
/-- Any functor out of the empty category is isomorphic to the canonical functor from the empty
category.
-/
def uniqueFromEmpty (F : DiscreteDiscrete.{w} PEmpty ⥤ C) : F ≅ empty C :=
emptyExt _ _
CategoryTheory.Functor.empty_ext'
theorem
(F G : Discrete.{w} PEmpty ⥤ C) : F = G
/-- Any two functors out of the empty category are *equal*. You probably want to use
`emptyExt` instead of this.
-/
theorem empty_ext' (F G : DiscreteDiscrete.{w} PEmpty ⥤ C) : F = G :=
Functor.ext (fun x => x.as.elim) fun x _ _ => x.as.elim