Section thl.
Variables (C J : Category) (H1 : forall k : J -> C, Product1 k)
(H2 : forall k : Arrs J -> C, Product1 k)
(H3 : forall (a b : C) (f g : a --> b), Equalizer1_fg f g)
(F : Functor J C).
Let Limit2_fg (a b : C) (f g : a --> b) := Build_Equalizer2 (H3 f g) Elt1.
(* IIi Fi *)
Definition Thl_k_Fi (i : J) := F i.
Definition Thl_l_Fi := H1 Thl_k_Fi.
Definition Thl_PI_Fi := Pi1 Thl_l_Fi.
(* ||u F(codomu) *)
Definition Thl_k_Fu (u : Arrs J) := F (Codom u).
Definition Thl_l_Fu := H2 Thl_k_Fu.
Definition Thl_PI_Fu := Pi1 Thl_l_Fu.
(* qq u. fu : IIi Fi -> ku (= F(codomu)) *)
Definition Thl_fu (u : Arrs J) := Proj1 Thl_l_Fi (Codom u).
(* donc E! f : IIi Fi -> ||u F(codomu) tq ... *)
Definition Thl_f : Thl_PI_Fi --> Thl_PI_Fu := Pd1_diese Thl_l_Fu Thl_fu.
(* qq u. gu : IIi Fi --p(domu)--> F(domu) --Fu--> ku (= F(codomu)) *)
Definition Thl_gu (u : Arrs J) := Proj1 Thl_l_Fi (Dom u) o FMor F (Arrow u).
(* donc E! g : IIi Fi -> ||u F(codomu) tq ... *)
Definition Thl_g := Pd1_diese Thl_l_Fu Thl_gu.
(* equalizer de f et g *)
Definition Thl_l_fg := Limit2_fg Thl_f Thl_g.
Definition Thl_d := E1_ob Thl_l_fg.
Definition Thl_e := E1_mor Thl_l_fg.
(* construction du limiting cone *)
Definition Thl_mu_tau (j : J) := Thl_e o Proj1 Thl_l_Fi j.

Lemma Thl_mu_cone_law : Cone_law Thl_mu_tau.