let D be non empty set ; :: thesis: for d0 being Element of D
for Y being non empty TopSpace holds
( TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) iff ( the carrier of Y = D & ( for A being Subset of Y holds
( ( A c= D \ {d0} implies A is open ) & ( A <> D & A is open implies A c= D \ {d0} ) ) ) ) )

let d0 be Element of D; :: thesis: for Y being non empty TopSpace holds
( TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) iff ( the carrier of Y = D & ( for A being Subset of Y holds
( ( A c= D \ {d0} implies A is open ) & ( A <> D & A is open implies A c= D \ {d0} ) ) ) ) )

let Y be non empty TopSpace; :: thesis: ( TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) iff ( the carrier of Y = D & ( for A being Subset of Y holds
( ( A c= D \ {d0} implies A is open ) & ( A <> D & A is open implies A c= D \ {d0} ) ) ) ) )

thus ( TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) implies ( the carrier of Y = D & ( for A being Subset of Y holds
( ( A c= D \ {d0} implies A is open ) & ( A <> D & A is open implies A c= D \ {d0} ) ) ) ) ) by Th22, TOPS_3:76; :: thesis: ( the carrier of Y = D & ( for A being Subset of Y holds
( ( A c= D \ {d0} implies A is open ) & ( A <> D & A is open implies A c= D \ {d0} ) ) ) implies TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) )

assume A1: the carrier of Y = D ; :: thesis: ( ex A being Subset of Y st
( ( A c= D \ {d0} implies A is open ) implies ( A <> D & A is open & not A c= D \ {d0} ) ) or TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) )

assume A2: for A being Subset of Y holds
( ( A c= D \ {d0} implies A is open ) & ( A <> D & A is open implies A c= D \ {d0} ) ) ; :: thesis: TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #)
now :: thesis: for A being Subset of Y
for C being Subset of (STS (D,d0)) st A = C holds
( A is open iff C is open )
let A be Subset of Y; :: thesis: for C being Subset of (STS (D,d0)) st A = C holds
( A is open iff C is open )

let C be Subset of (STS (D,d0)); :: thesis: ( A = C implies ( A is open iff C is open ) )
assume A3: A = C ; :: thesis: ( A is open iff C is open )
A4: now :: thesis: ( A is open implies C is open )
assume A5: A is open ; :: thesis: C is open
now :: thesis: ( ( A = D & C is open ) or ( A <> D & C is open ) )
per cases ( A = D or A <> D ) ;
case A = D ; :: thesis: C is open
then C = [#] (STS (D,d0)) by A3;
hence C is open ; :: thesis: verum
end;
end;
end;
hence C is open ; :: thesis: verum
end;
now :: thesis: ( C is open implies A is open )
assume A6: C is open ; :: thesis: A is open
now :: thesis: ( ( C = D & A is open ) or ( C <> D & A is open ) )
per cases ( C = D or C <> D ) ;
end;
end;
hence A is open ; :: thesis: verum
end;
hence ( A is open iff C is open ) by A4; :: thesis: verum
end;
hence TopStruct(# the carrier of Y, the topology of Y #) = TopStruct(# the carrier of (STS (D,d0)), the topology of (STS (D,d0)) #) by A1, TOPS_3:72; :: thesis: verum