let S, T be non empty TopStruct ; :: thesis: for f being Function of S,T holds
( f is being_homeomorphism iff ( dom f = [#] S & rng f = [#] T & f is one-to-one & ( for P being Subset of T holds
( P is open iff f " P is open ) ) ) )

let f be Function of S,T; :: thesis: ( f is being_homeomorphism iff ( dom f = [#] S & rng f = [#] T & f is one-to-one & ( for P being Subset of T holds
( P is open iff f " P is open ) ) ) )

A1: [#] T <> {} ;
hereby :: thesis: ( dom f = [#] S & rng f = [#] T & f is one-to-one & ( for P being Subset of T holds
( P is open iff f " P is open ) ) implies f is being_homeomorphism )
assume A2: f is being_homeomorphism ; :: thesis: ( dom f = [#] S & rng f = [#] T & f is one-to-one & ( for P being Subset of T holds
( ( P is open implies f " P is open ) & ( f " P is open implies P is open ) ) ) )

hence A3: ( dom f = [#] S & rng f = [#] T & f is one-to-one ) by TOPS_2:def 5; :: thesis: for P being Subset of T holds
( ( P is open implies f " P is open ) & ( f " P is open implies P is open ) )

let P be Subset of T; :: thesis: ( ( P is open implies f " P is open ) & ( f " P is open implies P is open ) )
hereby :: thesis: ( f " P is open implies P is open ) end;
assume f " P is open ; :: thesis: P is open
then f .: (f " P) is open by A2, Th25;
hence P is open by A3, FUNCT_1:77; :: thesis: verum
end;
assume that
A5: dom f = [#] S and
A6: rng f = [#] T and
A7: f is one-to-one and
A8: for P being Subset of T holds
( P is open iff f " P is open ) ; :: thesis: f is being_homeomorphism
A9: now
let R be Subset of S; :: thesis: ( R is open implies (f /") " R is open )
assume A10: R is open ; :: thesis: (f /") " R is open
for x1, x2 being Element of S st x1 in R & f . x1 = f . x2 holds
x2 in R by A5, A7, FUNCT_1:def 4;
then A11: f " (f .: R) = R by T_0TOPSP:1;
(f /") " R = f .: R by A6, A7, TOPS_2:54;
hence (f /") " R is open by A8, A10, A11; :: thesis: verum
end;
thus ( dom f = [#] S & rng f = [#] T & f is one-to-one ) by A5, A6, A7; :: according to TOPS_2:def 5 :: thesis: ( f is continuous & f /" is continuous )
thus f is continuous by A1, A8, TOPS_2:43; :: thesis: f /" is continuous
[#] S <> {} ;
hence f /" is continuous by A9, TOPS_2:43; :: thesis: verum