Section uaxG_verif.
Variables (a' : A) (h : x --> G a').
Definition FT_i0 := SSC2_i (s x) h.
Definition FT_t := SSC2_t (s x) h.
(* construction de h# : Lim(EoQ) -> a' *)
Definition FT_h_diese : Lim_EoQ --> a' := FT_Apeps FT_i0 o FT_t.
(* unicite' de h# *)
Variable FT_h' : Lim_EoQ --> a'.
(* h = tau# o G(h#') *)
Hypothesis H : UA_eq FT_tau_d h FT_h'.
Definition FT_j0 := SSC2_i (s x) FT_tau_d.
Definition FT_t' := SSC2_t (s x) FT_tau_d.
(* pullback P pour t et (t' o h#') *)
Definition FT_P : Pullback1 FT_t (FT_t' o FT_h') :=
A_c (Fpulb FT_t (FT_t' o FT_h')).
Definition FT_b := Fibred1_prod FT_P.
Definition FT_p := Fibred1_p FT_P.
Definition FT_q := Fibred1_q FT_P.
(* P is preserved by G *)
Definition FT_GP' := G_c FT_P.
Definition FT_GP : Fpullback1 (Fpulb FT_t (FT_t' o FT_h') o_F G) :=
Build_Limit FT_GP'.
(* Le grand diagramme commute *)
(* donc E! k : x -> G(b), par universalite' de FT_GP *)
Definition FT_k : x --> G FT_b := Pb1_diese FT_GP FT_diag1.
Definition FT_m0 := SSC2_i (s x) FT_k.
Definition FT_t'' : FT_a FT_m0 --> FT_b := SSC2_t (s x) FT_k.
(* Revenons au diagramme P *)
(* t'' o p est une fleche de m0 -> FT_i0 dans (x|G)I *)
Canonical Structure FT_c1 := Build_Com_arrow FT_eq1.
(* t'' o q est une fleche de FT_m0 -> FT_i0 dans (x|G)I *)

Lemma FT_eq2 :
Com_law (axf:=Build_Com_ob (FT_f FT_m0)) (bxg:=Build_Com_ob (FT_f FT_j0))
(FT_t'' o FT_q).