reserve y,w for set;
reserve T for non empty TopSpace;

theorem Th8:
  for T,T1 being non empty TopSpace,f being continuous Function of
T,T1 holds T1 is T_1 implies ex h being continuous Function of T_1-reflex T, T1
  st f = h*T_1-reflect T
proof
  let T,T1 be non empty TopSpace;
  let f be continuous Function of T,T1;
  set g = T_1-reflect T;
A1: dom g = the carrier of T by FUNCT_2:def 1;
  defpred X[object,object] means
   ex D1 being set st D1 = $1 &
for z being Element of T1 holds (z in rng f & D1 c=
  f"{z}) implies $2 = f"{z};
  assume
A2: T1 is T_1;
  then reconsider
  fx = {f"{x} where x is Element of T1 : x in rng f} as a_partition
  of the carrier of T by Th5;
A3: dom f = the carrier of T by FUNCT_2:def 1;
A4: for y being object st y in the carrier of T_1-reflex T
ex w being object st X[y,w]
  proof
    let y be object;
    assume y in the carrier of T_1-reflex T;
    then y in Intersection(Closed_Partitions T) by BORSUK_1:def 7;
    then consider x being Element of T such that
A5: y = EqClass(x,Intersection(Closed_Partitions T)) by EQREL_1:42;
    reconsider x as Element of T;
    set w = f"{f.x};
     reconsider yy=y as set by TARSKI:1;
    take w,yy;
    thus yy = y;
    let z be Element of T1;
    assume that
A6: z in rng f and
A7: yy c= f"{z};
    reconsider fix = f.x as Element of T1;
    f.x in rng f by A3,FUNCT_1:def 3;
    then
A8: f"{fix} in fx;
    yy is non empty by A5,EQREL_1:def 6;
    then
A9: ex z1 being object st z1 in yy;
    f"{z} in fx by A6;
    then
A10: w misses f"{z} or w = f"{z} by A8,EQREL_1:def 4;
    yy c= w by A2,A5,Th6;
    hence thesis by A7,A10,A9,XBOOLE_0:3;
  end;
  consider h1 being Function such that
A11: dom h1 = the carrier of T_1-reflex T &
for y being object st y in the carrier of
  T_1-reflex T holds X[y,h1.y] from CLASSES1:sch 1(A4);
  defpred X1[object,object] means
  for z being Element of T1 holds (z in rng f & $1 =
  f"{z}) implies $2 = z;
A12: for y being object st y in fx ex w being object st X1[y,w]
  proof
    let y be object;
    assume y in fx;
    then consider w being Element of T1 such that
A13: y = f"{w} and
    w in rng f;
    take w;
    let z be Element of T1;
    assume that
A14: z in rng f and
A15: y = f"{z};
    now
      assume
A16:  z <> w;
      consider v being object such that
A17:  v in dom f and
A18:  z = f.v by A14,FUNCT_1:def 3;
      z in {z} by TARSKI:def 1;
      then v in f"{w} by A13,A15,A17,A18,FUNCT_1:def 7;
      then f.v in {w} by FUNCT_1:def 7;
      hence contradiction by A16,A18,TARSKI:def 1;
    end;
    hence thesis;
  end;
  consider h2 being Function such that
A19: dom h2 = fx &
for y being object st y in fx holds X1[y,h2.y] from CLASSES1:sch 1(
  A12);
  set h = h2*h1;
A20: dom h = the carrier of T_1-reflex T
  proof
    thus dom h c= the carrier of T_1-reflex T by A11,RELAT_1:25;
    let z be object;
     reconsider zz=z as set by TARSKI:1;
    assume
A21: z in the carrier of T_1-reflex T;
    then consider w being Element of T1 such that
A22: w in rng f and
A23: zz c= f"{w} by A2,Th7;
    X[z,h1.z] by A11,A21;
    then h1.z = f"{w} by A22,A23;
    then h1.z in dom h2 by A19,A22;
    hence thesis by A11,A21,FUNCT_1:11;
  end;
A24: dom (h*g) = the carrier of T
  proof
    thus dom (h*g) c= the carrier of T by A1,RELAT_1:25;
    let y be object;
    assume
A25: y in the carrier of T;
    then g.y in rng g by A1,FUNCT_1:def 3;
    hence thesis by A1,A20,A25,FUNCT_1:11;
  end;
A26: for x being object st x in dom f holds f.x = (h*g).x
  proof
    let x be object;
    assume
A27: x in dom f;
    then g.x in rng g by A1,FUNCT_1:def 3;
    then g.x in the carrier of T_1-reflex T;
    then g.x in Intersection (Closed_Partitions T) by BORSUK_1:def 7;
    then consider y being Element of T such that
A28: g.x = EqClass(y,Intersection (Closed_Partitions T)) by EQREL_1:42;
    reconsider x as Element of T by A27;
    reconsider fix = f.x as Element of T1;
A29: x in EqClass(x,Intersection (Closed_Partitions T)) by EQREL_1:def 6;
    g = proj (Intersection Closed_Partitions T) by BORSUK_1:def 8;
    then x in g.x by EQREL_1:def 9;
    then EqClass(x,Intersection (Closed_Partitions T)) meets EqClass(y,
    Intersection (Closed_Partitions T)) by A28,A29,XBOOLE_0:3;
    then
A30: g.x c= f"{fix} by A2,A28,Th6,EQREL_1:41;
A31: fix in rng f by A27,FUNCT_1:def 3;
    then
A32: f"{fix} in fx;
A33:   X[g.x,h1.(g.x)] by A11;
    (h*g).x = (h2*h1).(g.x) by A24,FUNCT_1:12
      .= h2.(h1.(g.x)) by A11,FUNCT_1:13
      .= h2.(f"{fix}) by A31,A30,A33
      .= f.x by A19,A31,A32;
    hence thesis;
  end;
  then
A34: f = h*g by A3,A24,FUNCT_1:2;
A35: rng h2 c= the carrier of T1
  proof
    let y be object;
    assume y in rng h2;
    then consider w being object such that
A36: w in dom h2 and
A37: y = h2.w by FUNCT_1:def 3;
    consider x being Element of T1 such that
A38: w = f"{x} & x in rng f by A19,A36;
    h2.w = x by A19,A36,A38;
    hence thesis by A37;
  end;
  rng h c= rng h2
  by FUNCT_1:14;
  then rng h c= the carrier of T1 by A35;
  then reconsider
  h as Function of the carrier of T_1-reflex T,the carrier of T1 by A20,
FUNCT_2:def 1,RELSET_1:4;
  reconsider h as Function of T_1-reflex T,T1;
  h is continuous
  proof
    let y be Subset of T1;
    reconsider hy = h"y as Subset of space Intersection(Closed_Partitions T);
    union hy c= the carrier of T
    proof
      let z1 be object;
      assume z1 in union hy;
      then consider z2 being set such that
A39:  z1 in z2 and
A40:  z2 in hy by TARSKI:def 4;
      z2 in the carrier of space Intersection(Closed_Partitions T) by A40;
      then z2 in Intersection(Closed_Partitions T) by BORSUK_1:def 7;
      hence thesis by A39;
    end;
    then reconsider uhy = union hy as Subset of T;
    assume y is closed;
    then (h*g)"y is closed by A34,PRE_TOPC:def 6;
    then g"(h"y) is closed by RELAT_1:146;
    then uhy is closed by Th1;
    hence thesis by Th2;
  end;
  then reconsider h as continuous Function of T_1-reflex T,T1;
  take h;
  thus thesis by A3,A24,A26,FUNCT_1:2;
end;
