
theorem
  for T,S being non empty TopSpace st ex h being Function of T_0-reflex(
  S),T_0-reflex(T) st h is being_homeomorphism & T_0-canonical_map(T),h*
  T_0-canonical_map(S) are_fiberwise_equipotent holds T,S are_homeomorphic
proof
  let T,S be non empty TopSpace;
  set F = T_0-canonical_map(T), G = T_0-canonical_map(S);
  set TR = T_0-reflex(T), SR = T_0-reflex(S);
  given h being Function of SR,TR such that
A1: h is being_homeomorphism and
A2: F,h*G are_fiberwise_equipotent;
  consider f being Function such that
A3: dom f = dom F and
A4: rng f = dom (h*G) and
A5: f is one-to-one and
A6: F = h*G*f by A2,CLASSES1:77;
A7: dom f = the carrier of T by A3,FUNCT_2:def 1;
A8: h is continuous by A1;
A9: h is one-to-one by A1;
  reconsider f as Function of T,S by A4,A7,FUNCT_2:def 1,RELSET_1:4;
  take f;
  thus
A10: dom f = [#] T & rng f = [#] S by A4,FUNCT_2:def 1;
A11: rng h = [#] TR by A1;
A12: [#]SR <> {};
A13: for A being Subset of S st A is open holds f"A is open
  proof
    set g=(h*G);
    let A be Subset of S;
    set B=g.:A;
A14: h" is continuous by A1;
    assume
A15: A is open;
A16: for x1,x2 being Element of S holds x1 in A & g.x1=g.x2 implies x2 in A
    proof
      let x1,x2 be Element of S;
      assume that
A17:  x1 in A and
A18:  g.x1=g.x2;
      h.(G.x1) = g.x2 by A18,FUNCT_2:15;
      then h.(G.x1) = h.(G.x2) by FUNCT_2:15;
      then G.x1 = G.x2 by A9,FUNCT_2:19;
      hence thesis by A15,A17,Th6;
    end;
    G is open by Th8;
    then G.:A is open by A15;
    then
A19: (h")"(G.:A) is open by A12,A14,TOPS_2:43;
A20:  h is onto by A11,FUNCT_2:def 3;
    h.:(G.:A) = (h qua Function")"(G.:A) by A9,FUNCT_1:84;
    then h.:(G.:A) is open by A9,A19,A20,TOPS_2:def 4;
    then
A21: (h*G).:A is open by RELAT_1:126;
    [#]T_0-reflex T <> {};
    then
A22: F"B is open by A21,TOPS_2:43;
    F"B = f"(g"(g.:A)) by A6,RELAT_1:146;
    hence thesis by A22,A16,Th1;
  end;
A23: dom h = [#] SR by A1;
A24: for A being Subset of T st A is open holds (f" qua Function of S,T)"A
  is open
  proof
    set g = h"*F;
    let A be Subset of T;
    set B = g.:A;
    assume
A25: A is open;
A26: for x1,x2 being Element of T holds x1 in A & g.x1=g.x2 implies x2 in A
    proof
      let x1,x2 be Element of T;
      assume that
A27:  x1 in A and
A28:  g.x1=g.x2;
      h".(F.x1) = g.x2 by A28,FUNCT_2:15;
      then
A29:  h".(F.x1) = h".(F.x2) by FUNCT_2:15;
      h" is one-to-one by A11,A9,TOPS_2:50;
      then F.x1 = F.x2 by A29,FUNCT_2:19;
      hence thesis by A25,A27,Th6;
    end;
    F = h*(G*f) by A6,RELAT_1:36;
    then g = (h"*h)*(G*f) by RELAT_1:36;
    then g = (id the carrier of SR)*(G*f) by A23,A11,A9,TOPS_2:52;
    then g*f" = G*f*f" by FUNCT_2:17;
    then g*f" = G*(f*f") by RELAT_1:36;
    then g*f" = G*(id the carrier of S) by A5,A10,TOPS_2:52;
    then G = g*f" by FUNCT_2:17;
    then
A30: G"B = (f")"(g"B) by RELAT_1:146;
    F is open by Th8;
    then F.:A is open by A25;
    then
A31: h"(F.:A) is open by A11,A8,TOPS_2:43;
    B = (h").:(F.:A) by RELAT_1:126;
    then G"B = G"(h"(F.:A)) by A11,A9,TOPS_2:55;
    then G"B is open by A12,A31,TOPS_2:43;
    hence thesis by A26,A30,Th1;
  end;
  thus f is one-to-one by A5;
  [#]S <> {};
  hence f is continuous by A13,TOPS_2:43;
  [#]T <> {};
  hence thesis by A24,TOPS_2:43;
end;
