let Y be TopStruct ; :: thesis: ( ( for P, Q being Subset of Y st P is open & Q is open holds
( P /\ Q is open & P \/ Q is open ) ) implies for A, B being Subset of Y st A is open & B is open & A is discrete & B is discrete holds
A \/ B is discrete )

assume A1: for P, Q being Subset of Y st P is open & Q is open holds
( P /\ Q is open & P \/ Q is open ) ; :: thesis: for A, B being Subset of Y st A is open & B is open & A is discrete & B is discrete holds
A \/ B is discrete

let A, B be Subset of Y; :: thesis: ( A is open & B is open & A is discrete & B is discrete implies A \/ B is discrete )
assume that
A2: A is open and
A3: B is open ; :: thesis: ( not A is discrete or not B is discrete or A \/ B is discrete )
assume that
A4: A is discrete and
A5: B is discrete ; :: thesis: A \/ B is discrete
now :: thesis: for D being Subset of Y st D c= A \/ B holds
ex G being Subset of Y st
( G is open & (A \/ B) /\ G = D )
let D be Subset of Y; :: thesis: ( D c= A \/ B implies ex G being Subset of Y st
( G is open & (A \/ B) /\ G = D ) )

D /\ A c= A by XBOOLE_1:17;
then consider G1 being Subset of Y such that
A6: G1 is open and
A7: A /\ G1 = D /\ A by A4;
D /\ B c= B by XBOOLE_1:17;
then consider G2 being Subset of Y such that
A8: G2 is open and
A9: B /\ G2 = D /\ B by A5;
assume D c= A \/ B ; :: thesis: ex G being Subset of Y st
( G is open & (A \/ B) /\ G = D )

then A10: D = D /\ (A \/ B) by XBOOLE_1:28;
now :: thesis: ex G being Element of bool the carrier of Y st
( G is open & (A \/ B) /\ G = D )
take G = (A /\ G1) \/ (B /\ G2); :: thesis: ( G is open & (A \/ B) /\ G = D )
A11: B /\ G2 is open by A1, A3, A8;
A /\ G1 is open by A1, A2, A6;
hence G is open by A1, A11; :: thesis: (A \/ B) /\ G = D
thus (A \/ B) /\ G = D by A10, A7, A9, XBOOLE_1:23; :: thesis: verum
end;
hence ex G being Subset of Y st
( G is open & (A \/ B) /\ G = D ) ; :: thesis: verum
end;
hence A \/ B is discrete ; :: thesis: verum