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 *)
Canonical Structure FT_c2 := Build_Com_arrow FT_eq2.
(* Diagramme 2 commute *)
(* Diagramme 3 commute *)
(* le grand diagramme commute : FT_eps(i) o FT_t = FT_eps(j) o FT_t' o h#' *)
(* qq i. t' o (pes i) est fleche de FT_j0 -> i dans (x|G)I *)
Canonical Structure FT_c3 (i : FT_I) := Build_Com_arrow (FT_eq3 i).
(* FT_eps(j) o t' = Id(LimEoQ) *)
(* ide'e : par initialite' de FT_eps, FT_eps(j) o t' = FT_eps# = Id(LimEoQ) *)

Lemma FT_h_diese_unique : FT_h' =_S FT_h_diese.