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 <> {} & [#] S <> {} ) ;
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:147; :: thesis: verum
end;
assume that
A5: ( dom f = [#] S & rng f = [#] T & f is one-to-one ) and
A6: for P being Subset of T holds
( P is open iff f " P is open ) ; :: thesis: f is being_homeomorphism
thus ( dom f = [#] S & rng f = [#] T & f is one-to-one ) by A5; :: according to TOPS_2:def 5 :: thesis: ( f is continuous & f /" is continuous )
thus f is continuous by A1, A6, TOPS_2:55; :: thesis: f /" is continuous
now
let R be Subset of S; :: thesis: ( R is open implies (f /" ) " R is open )
assume A7: R is open ; :: thesis: (f /" ) " R is open
A8: (f /" ) " R = f .: R by A5, TOPS_2:67;
for x1, x2 being Element of S st x1 in R & f . x1 = f . x2 holds
x2 in R by A5, FUNCT_1:def 8;
then f " (f .: R) = R by T_0TOPSP:2;
hence (f /" ) " R is open by A6, A7, A8; :: thesis: verum
end;
hence f /" is continuous by A1, TOPS_2:55; :: thesis: verum