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 :: thesis: ( the carrier of TopStruct(# X,B #) in bool the carrier of TopStruct(# X,B #) & ( for a being set st a in O holds
the carrier of TopStruct(# X,B #) in a ) )
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:43; :: according to PRE_TOPC:def 1 :: thesis: ( ( for b1 being Element of K32(K32( 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 K32( 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 K32( 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 :: thesis: for b being set st b in O holds
union a in b
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 A6: a c= o by A4;
TopStruct(# X,o #) is TopSpace by A1, A5;
hence union a in b by A6, PRE_TOPC:def 1; :: thesis: verum
end;
hence union a in the topology of TopStruct(# X,B #) by SETFAM_1:43; :: 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 that
A7: a in the topology of TopStruct(# X,B #) and
A8: b in the topology of TopStruct(# X,B #) ; :: thesis: a /\ b in the topology of TopStruct(# X,B #)
now :: thesis: for c being set st c in O holds
a /\ b in c
let c be set ; :: thesis: ( c in O implies a /\ b in c )
assume A9: c in O ; :: thesis: a /\ b in c
then reconsider o = c as Subset-Family of X ;
A10: b in o by A8, A9, SETFAM_1:43;
A11: TopStruct(# X,o #) is TopSpace by A1, A9;
a in o by A7, A9, SETFAM_1:43;
hence a /\ b in c by A10, A11, PRE_TOPC:def 1; :: thesis: verum
end;
hence a /\ b in the topology of TopStruct(# X,B #) by SETFAM_1:43; :: 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 ) )

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 A12: o in O ; :: thesis: TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #)
reconsider S = TopStruct(# X,o #) as TopSpace by A1, A12;
Intersect O c= o by A12, MSSUBFAM:2;
then S is TopExtension of TopStruct(# X,B #) by YELLOW_9:def 5;
hence TopStruct(# X,o #) is TopExtension of TopStruct(# X,B #) ; :: thesis: verum
end;
reconsider TT = TopStruct(# X,B #) as TopSpace by A2;
let T9 be TopSpace; :: thesis: ( the carrier of T9 = X & ( for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T9 ) implies TopStruct(# X,B #) is TopExtension of T9 )

assume that
A13: the carrier of T9 = X and
A14: for o being Subset-Family of X st o in O holds
TopStruct(# X,o #) is TopExtension of T9 ; :: thesis: TopStruct(# X,B #) is TopExtension of T9
now :: thesis: for a being set st a in O holds
the topology of T9 c= a
let a be set ; :: thesis: ( a in O implies the topology of T9 c= a )
assume A15: a in O ; :: thesis: the topology of T9 c= a
then reconsider o = a as Subset-Family of X ;
TopStruct(# X,o #) is TopExtension of T9 by A14, A15;
hence the topology of T9 c= a by YELLOW_9:def 5; :: thesis: verum
end;
then the topology of T9 c= Intersect O by A13, MSSUBFAM:4;
then TT is TopExtension of T9 by A13, YELLOW_9:def 5;
hence TopStruct(# X,B #) is TopExtension of T9 ; :: thesis: verum