let X be set ; :: thesis: for O being Subset-Family of (bool X) st ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopSpace ) holds
ex B being Subset-Family of X st
( B = Intersect O & TopStruct(# X,B #) is TopSpace & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ) & ( for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T ) )

let O be Subset-Family of (bool X); :: thesis: ( ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopSpace ) implies ex B being Subset-Family of X st
( B = Intersect O & TopStruct(# X,B #) is TopSpace & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ) & ( for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T ) ) )

assume A1: for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopSpace ; :: thesis: ex B being Subset-Family of X st
( B = Intersect O & TopStruct(# X,B #) is TopSpace & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ) & ( for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T ) )

reconsider B = Intersect O as Subset-Family of X ;
set T = TopStruct(# X,B #);
take B ; :: thesis: ( B = Intersect O & TopStruct(# X,B #) is TopSpace & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ) & ( for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T ) )

thus B = Intersect O ; :: thesis: ( TopStruct(# X,B #) is TopSpace & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ) & ( for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T ) )

A2: TopStruct(# X,B #) is TopSpace-like
proof
now
thus the carrier of TopStruct(# X,B #) in bool the carrier of TopStruct(# X,B #) by ZFMISC_1:def 1; :: thesis: for a being set st a in O holds
the carrier of TopStruct(# X,B #) in a

let a be set ; :: thesis: ( a in O implies the carrier of TopStruct(# X,B #) in a )
assume A3: a in O ; :: thesis: the carrier of TopStruct(# X,B #) in a
then reconsider o = a as Subset-Family of X ;
TopStruct(# X,o #) is TopSpace by A1, A3;
hence the carrier of TopStruct(# X,B #) in a by PRE_TOPC:def 1; :: thesis: verum
end;
hence the carrier of TopStruct(# X,B #) in the topology of TopStruct(# X,B #) by SETFAM_1:58; :: according to PRE_TOPC:def 1 :: thesis: ( ( for b1 being Element of K10(K10(the carrier of TopStruct(# X,B #))) holds
( not b1 c= the topology of TopStruct(# X,B #) or union b1 in the topology of TopStruct(# X,B #) ) ) & ( for b1, b2 being Element of K10(the carrier of TopStruct(# X,B #)) holds
( not b1 in the topology of TopStruct(# X,B #) or not b2 in the topology of TopStruct(# X,B #) or b1 /\ b2 in the topology of TopStruct(# X,B #) ) ) )

hereby :: thesis: for b1, b2 being Element of K10(the carrier of TopStruct(# X,B #)) holds
( not b1 in the topology of TopStruct(# X,B #) or not b2 in the topology of TopStruct(# X,B #) or b1 /\ b2 in the topology of TopStruct(# X,B #) )
let a be Subset-Family of TopStruct(# X,B #); :: thesis: ( a c= the topology of TopStruct(# X,B #) implies union a in the topology of TopStruct(# X,B #) )
assume A4: a c= the topology of TopStruct(# X,B #) ; :: thesis: union a in the topology of TopStruct(# X,B #)
now
let b be set ; :: thesis: ( b in O implies union a in b )
assume A5: b in O ; :: thesis: union a in b
then reconsider o = b as Subset-Family of X ;
B c= b by A5, MSSUBFAM:2;
then ( a c= o & TopStruct(# X,o #) is TopSpace ) by A1, A4, A5, XBOOLE_1:1;
hence union a in b by PRE_TOPC:def 1; :: thesis: verum
end;
hence union a in the topology of TopStruct(# X,B #) by SETFAM_1:58; :: thesis: verum
end;
let a, b be Subset of TopStruct(# X,B #); :: thesis: ( not a in the topology of TopStruct(# X,B #) or not b in the topology of TopStruct(# X,B #) or a /\ b in the topology of TopStruct(# X,B #) )
assume A6: ( a in the topology of TopStruct(# X,B #) & b in the topology of TopStruct(# X,B #) ) ; :: thesis: a /\ b in the topology of TopStruct(# X,B #)
now
let c be set ; :: thesis: ( c in O implies a /\ b in c )
assume A7: c in O ; :: thesis: a /\ b in c
then reconsider o = c as Subset-Family of X ;
( a in o & b in o & TopStruct(# X,o #) is TopSpace ) by A1, A6, A7, SETFAM_1:58;
hence a /\ b in c by PRE_TOPC:def 1; :: thesis: verum
end;
hence a /\ b in the topology of TopStruct(# X,B #) by SETFAM_1:58; :: thesis: verum
end;
hence TopStruct(# X,B #) is TopSpace ; :: thesis: ( ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ) & ( for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T ) )

reconsider TT = TopStruct(# X,B #) as TopSpace by A2;
thus for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) :: thesis: for T being TopSpace st the carrier of T = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T ) holds
TopStruct(# X,B #) is TopExtension of T
proof
let o be Subset-Family of X; :: thesis: ( o in O implies TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) )
assume A8: o in O ; :: thesis: TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #)
reconsider S = TopStruct(# X,o #) as TopSpace by A1, A8;
S is TopExtension of TopStruct(# X,B #)
proof
thus the carrier of TopStruct(# X,B #) = the carrier of S ; :: according to YELLOW_9:def 5 :: thesis: the topology of TopStruct(# X,B #) c= the topology of S
thus the topology of TopStruct(# X,B #) c= the topology of S by A8, MSSUBFAM:2; :: thesis: verum
end;
hence TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ; :: thesis: verum
end;
let T' be TopSpace; :: thesis: ( the carrier of T' = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T' ) implies TopStruct(# X,B #) is TopExtension of T' )

assume that
A9: the carrier of T' = X and
A10: for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T' ; :: thesis: TopStruct(# X,B #) is TopExtension of T'
TT is TopExtension of T'
proof
thus the carrier of T' = the carrier of TT by A9; :: according to YELLOW_9:def 5 :: thesis: the topology of T' c= the topology of TT
now
let a be set ; :: thesis: ( a in O implies the topology of T' c= a )
assume A11: a in O ; :: thesis: the topology of T' c= a
then reconsider o = a as Subset-Family of X ;
TopStruct(# X,o #) is TopExtension of T' by A10, A11;
hence the topology of T' c= a by YELLOW_9:def 5; :: thesis: verum
end;
hence the topology of T' c= the topology of TT by A9, MSSUBFAM:4; :: thesis: verum
end;
hence TopStruct(# X,B #) is TopExtension of T' ; :: thesis: verum