(* *)
End def_cocone.
Section colimit_def.
Variables (J C : Category) (F : Functor J C).
Section iscolimit_def.
Variables (colim : C) (nu : CoCone F colim).
Section colimit_laws.
Variable cl_diese : forall c : C, CoCone F c -> (colim --> c).
Definition CoLimit_eq (c : C) (tau : CoCone F c)
(g : colim --> c) := forall i : J, nu i o g =_S tau i.
Definition CoLimit_law1 :=
forall (c : C) (tau : CoCone F c), CoLimit_eq tau (cl_diese tau).
Definition CoLimit_law2 :=
forall (c : C) (tau : CoCone F c) (g : colim --> c),
CoLimit_eq tau g -> g =_S cl_diese tau.
End colimit_laws.
Structure IsColimit : Type :=
{Colim_diese : forall c : C, CoCone F c -> (colim --> c);
Prf_colimit1 : CoLimit_law1 Colim_diese;
Prf_colimit2 : CoLimit_law2 Colim_diese}.
Variable l : IsColimit.

Lemma Cldiese_map :
forall (c : C) (tau1 tau2 : CoCone F c),
tau1 =_NT tau2 -> Colim_diese l tau1 =_S Colim_diese l tau2.