The category discrete punit
#
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define star : C ⥤ discrete punit
sending everything to punit.star
,
show that any two functors to discrete punit
are naturally isomorphic,
and construct the equivalence (discrete punit ⥤ C) ≌ C
.
The constant functor sending everything to punit.star
.
Equations
- category_theory.functor.star C = (category_theory.functor.const C).obj {as := punit.star}
Any two functors to discrete punit
are isomorphic.
Equations
- F.punit_ext G = category_theory.nat_iso.of_components (λ (_x : C), category_theory.eq_to_iso _) _
Any two functors to discrete punit
are equal.
You probably want to use punit_ext
instead of this.
The functor from discrete punit
sending everything to the given object.
Functors from discrete punit
are equivalent to the category itself.
Equations
- category_theory.functor.equiv = {functor := {obj := λ (F : category_theory.discrete punit ⥤ C), F.obj {as := punit.star}, map := λ (F G : category_theory.discrete punit ⥤ C) (θ : F ⟶ G), θ.app {as := punit.star}, map_id' := _, map_comp' := _}, inverse := category_theory.functor.const (category_theory.discrete punit) _inst_1, unit_iso := category_theory.nat_iso.of_components (λ (X : category_theory.discrete punit ⥤ C), category_theory.discrete.nat_iso (λ (i : category_theory.discrete punit), i.cases_on (λ (i : punit), i.cases_on (category_theory.iso.refl (((𝟭 (category_theory.discrete punit ⥤ C)).obj X).obj {as := punit.star}))))) category_theory.functor.equiv._proof_3, counit_iso := category_theory.nat_iso.of_components category_theory.iso.refl category_theory.functor.equiv._proof_4, functor_unit_iso_comp' := _}
A category being equivalent to punit
is equivalent to it having a unique morphism between
any two objects. (In fact, such a category is also a groupoid; see groupoid.of_hom_unique
)