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.