Section comma_complete.
Variables (X A : Category) (G : Functor A X) (J : Category).
Hypothesis A_comp_for_J : forall F : Functor J A, Limit F.
Hypothesis G_pres_JA : forall F : Functor J A, Preserves_limits F G.
Variables (x : X) (F : Functor J (Comma G x)).
Let F' := F o_F Comma_proj G x.
Let l_F' := A_comp_for_J F'.
Let l_GF' := G_pres_JA l_F'.
(* construction d'un cone Delta(x)->F' o G *)
Definition Tc_tau (i : J) := Mor_com_ob (F i).
Definition Tc_cone := Build_Cone Tc_tau_cone_law.
(* limite objet pour F *)
Canonical Structure Tc_limF := Build_Com_ob (Lim_diese l_GF' Tc_cone).
(* limiting cone pour F *)
Canonical Structure Tc_limconeF_tau (i : J) :=
Build_Com_arrow (Tc_limconeF_tau_com_law i).

Lemma Tc_limconeF_cone_law : Cone_law Tc_limconeF_tau.