module Cat.Diagram.Colimit.Initial {o h} (C : Precategory o h) where
Initial objects are colimitsš
An initial object is equivalently defined as a colimit of the empty diagram.
is-colimitāis-initial : ā {T : Ob} {eta : Ā”F => Const T} ā is-colimit {C = C} Ā”F T eta ā is-initial C T is-colimitāis-initial colim Y = record where module colim = is-colimit colim centre = colim.universal (Ī» ()) Ī» () paths _ = colim.unique _ _ _ Ī» () is-initialāis-colimit : ā {T : Ob} {F : Functor ā„Cat C} ā is-initial C T ā is-colimit {C = C} F T Ā”nt is-initialāis-colimit {T} {F} init = to-is-colimitp mc Ī» {} where open make-is-colimit mc : make-is-colimit F T mc .Ļ () mc .commutes () mc .universal _ _ = init _ .centre mc .factors {} mc .unique _ _ _ _ = init _ .paths _ ColimitāInitial : Colimit {C = C} Ā”F ā Initial C ColimitāInitial colim .bot = Colimit.coapex colim ColimitāInitial colim .hasā„ = is-colimitāis-initial (Colimit.has-colimit colim) InitialāColimit : ā {F : Functor ā„Cat C} ā Initial C ā Colimit {C = C} F InitialāColimit init = to-colimit (is-initialāis-colimit (init .hasā„))