let T1, T2 be non empty TopSpace; :: thesis: for B1 being prebasis of T1
for B2 being prebasis of T2 holds { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } \/ { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } is prebasis of [:T1,T2:]

set T = [:T1,T2:];
let B1 be prebasis of T1; :: thesis: for B2 being prebasis of T2 holds { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } \/ { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } is prebasis of [:T1,T2:]
let B2 be prebasis of T2; :: thesis: { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } \/ { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } is prebasis of [:T1,T2:]
set C2 = { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } ;
set C1 = { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } ;
reconsider D1 = FinMeetCl B1 as Basis of T1 by Th23;
reconsider D2 = FinMeetCl B2 as Basis of T2 by Th23;
reconsider D = { [:a,b:] where a is Subset of T1, b is Subset of T2 : ( a in D1 & b in D2 ) } as Basis of [:T1,T2:] by Th40;
the carrier of T1 c= the carrier of T1 ;
then reconsider cT1 = the carrier of T1 as Subset of T1 ;
the carrier of T2 c= the carrier of T2 ;
then reconsider cT2 = the carrier of T2 as Subset of T2 ;
A1: ( cT1 in the topology of T1 & cT2 in the topology of T2 ) by PRE_TOPC:def 1;
A2: ( B1 c= the topology of T1 & B2 c= the topology of T2 ) by CANTOR_1:def 5;
{ [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } c= bool the carrier of [:T1,T2:]
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } or x in bool the carrier of [:T1,T2:] )
assume x in { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } ; :: thesis: x in bool the carrier of [:T1,T2:]
then ex a being Subset of T1 st
( x = [:a,cT2:] & a in B1 ) ;
hence x in bool the carrier of [:T1,T2:] ; :: thesis: verum
end;
then reconsider C1 = { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } as Subset-Family of [:T1,T2:] ;
reconsider C1 = C1 as Subset-Family of [:T1,T2:] ;
{ [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } c= bool the carrier of [:T1,T2:]
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } or x in bool the carrier of [:T1,T2:] )
assume x in { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } ; :: thesis: x in bool the carrier of [:T1,T2:]
then ex a being Subset of T2 st
( x = [:cT1,a:] & a in B2 ) ;
hence x in bool the carrier of [:T1,T2:] ; :: thesis: verum
end;
then reconsider C2 = { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } as Subset-Family of [:T1,T2:] ;
reconsider C2 = C2 as Subset-Family of [:T1,T2:] ;
reconsider C = C2 \/ C1 as Subset-Family of [:T1,T2:] ;
C is prebasis of [:T1,T2:]
proof
hereby :: according to TARSKI:def 3,CANTOR_1:def 5 :: thesis: ex b1 being Basis of [:T1,T2:] st b1 c= FinMeetCl C
let x be set ; :: thesis: ( x in C implies x in the topology of [:T1,T2:] )
assume x in C ; :: thesis: x in the topology of [:T1,T2:]
then ( x in C1 or x in C2 ) by XBOOLE_0:def 3;
then ( ex a being Subset of T1 st
( x = [:a,cT2:] & a in B1 ) or ex a being Subset of T2 st
( x = [:cT1,a:] & a in B2 ) ) ;
then consider a being Subset of T1, b being Subset of T2 such that
A3: ( x = [:a,b:] & a in the topology of T1 & b in the topology of T2 ) by A1, A2;
( a is open & b is open ) by A3, PRE_TOPC:def 5;
then [:a,b:] is open by BORSUK_1:46;
hence x in the topology of [:T1,T2:] by A3, PRE_TOPC:def 5; :: thesis: verum
end;
take D ; :: thesis: D c= FinMeetCl C
let d be set ; :: according to TARSKI:def 3 :: thesis: ( not d in D or d in FinMeetCl C )
assume d in D ; :: thesis: d in FinMeetCl C
then consider a being Subset of T1, b being Subset of T2 such that
A4: ( d = [:a,b:] & a in D1 & b in D2 ) ;
consider aY being Subset-Family of T1 such that
A5: aY c= B1 and
A6: aY is finite and
A7: a = Intersect aY by A4, CANTOR_1:def 4;
consider bY being Subset-Family of T2 such that
A8: bY c= B2 and
A9: bY is finite and
A10: b = Intersect bY by A4, CANTOR_1:def 4;
deffunc H1( Subset of T1) -> Element of bool the carrier of [:T1,T2:] = [:$1,cT2:];
A11: { H1(s) where s is Subset of T1 : s in aY } is finite from FRAENKEL:sch 21(A6);
deffunc H2( Subset of T2) -> Element of bool the carrier of [:T1,T2:] = [:cT1,$1:];
A12: { H2(s) where s is Subset of T2 : s in bY } is finite from FRAENKEL:sch 21(A9);
set Y1 = { [:s,cT2:] where s is Subset of T1 : s in aY } ;
set Y2 = { [:cT1,s:] where s is Subset of T2 : s in bY } ;
A13: { [:s,cT2:] where s is Subset of T1 : s in aY } c= C
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in { [:s,cT2:] where s is Subset of T1 : s in aY } or x in C )
assume x in { [:s,cT2:] where s is Subset of T1 : s in aY } ; :: thesis: x in C
then consider s being Subset of T1 such that
A14: ( x = [:s,cT2:] & s in aY ) ;
x in C1 by A5, A14;
hence x in C by XBOOLE_0:def 3; :: thesis: verum
end;
A15: { [:cT1,s:] where s is Subset of T2 : s in bY } c= C
proof
let x be set ; :: according to TARSKI:def 3 :: thesis: ( not x in { [:cT1,s:] where s is Subset of T2 : s in bY } or x in C )
assume x in { [:cT1,s:] where s is Subset of T2 : s in bY } ; :: thesis: x in C
then consider s being Subset of T2 such that
A16: ( x = [:cT1,s:] & s in bY ) ;
x in C2 by A8, A16;
hence x in C by XBOOLE_0:def 3; :: thesis: verum
end;
set Y = { [:s,cT2:] where s is Subset of T1 : s in aY } \/ { [:cT1,s:] where s is Subset of T2 : s in bY } ;
A17: { [:s,cT2:] where s is Subset of T1 : s in aY } \/ { [:cT1,s:] where s is Subset of T2 : s in bY } c= C by A13, A15, XBOOLE_1:8;
then reconsider Y = { [:s,cT2:] where s is Subset of T1 : s in aY } \/ { [:cT1,s:] where s is Subset of T2 : s in bY } as Subset-Family of [:T1,T2:] by XBOOLE_1:1;
A18: Y is finite by A11, A12;
Intersect Y = d
proof
hereby :: according to TARSKI:def 3,XBOOLE_0:def 10 :: thesis: d c= Intersect Y
let p be set ; :: thesis: ( p in Intersect Y implies p in d )
assume A19: p in Intersect Y ; :: thesis: p in d
then consider p1 being Point of T1, p2 being Point of T2 such that
A20: p = [p1,p2] by BORSUK_1:50;
now
let z be set ; :: thesis: ( z in aY implies p1 in z )
assume A21: z in aY ; :: thesis: p1 in z
then reconsider z' = z as Subset of T1 ;
[:z',cT2:] in { [:s,cT2:] where s is Subset of T1 : s in aY } by A21;
then [:z',cT2:] in Y by XBOOLE_0:def 3;
then p in [:z',cT2:] by A19, SETFAM_1:58;
hence p1 in z by A20, ZFMISC_1:106; :: thesis: verum
end;
then A22: p1 in a by A7, SETFAM_1:58;
now
let z be set ; :: thesis: ( z in bY implies p2 in z )
assume A23: z in bY ; :: thesis: p2 in z
then reconsider z' = z as Subset of T2 ;
[:cT1,z':] in { [:cT1,s:] where s is Subset of T2 : s in bY } by A23;
then [:cT1,z':] in Y by XBOOLE_0:def 3;
then p in [:cT1,z':] by A19, SETFAM_1:58;
hence p2 in z by A20, ZFMISC_1:106; :: thesis: verum
end;
then p2 in b by A10, SETFAM_1:58;
hence p in d by A4, A20, A22, ZFMISC_1:106; :: thesis: verum
end;
let p be set ; :: according to TARSKI:def 3 :: thesis: ( not p in d or p in Intersect Y )
assume p in d ; :: thesis: p in Intersect Y
then consider p1, p2 being set such that
A24: ( p1 in a & p2 in b & [p1,p2] = p ) by A4, ZFMISC_1:def 2;
reconsider p1 = p1 as Point of T1 by A24;
reconsider p2 = p2 as Point of T2 by A24;
now
let z be set ; :: thesis: ( z in Y implies [p1,p2] in b1 )
assume A25: z in Y ; :: thesis: [p1,p2] in b1
per cases ( z in { [:s,cT2:] where s is Subset of T1 : s in aY } or z in { [:cT1,s:] where s is Subset of T2 : s in bY } ) by A25, XBOOLE_0:def 3;
suppose z in { [:s,cT2:] where s is Subset of T1 : s in aY } ; :: thesis: [p1,p2] in b1
then consider s being Subset of T1 such that
A26: ( z = [:s,cT2:] & s in aY ) ;
p1 in s by A7, A24, A26, SETFAM_1:58;
hence [p1,p2] in z by A26, ZFMISC_1:106; :: thesis: verum
end;
suppose z in { [:cT1,s:] where s is Subset of T2 : s in bY } ; :: thesis: [p1,p2] in b1
then consider s being Subset of T2 such that
A27: ( z = [:cT1,s:] & s in bY ) ;
p2 in s by A10, A24, A27, SETFAM_1:58;
hence [p1,p2] in z by A27, ZFMISC_1:106; :: thesis: verum
end;
end;
end;
hence p in Intersect Y by A24, SETFAM_1:58; :: thesis: verum
end;
hence d in FinMeetCl C by A17, A18, CANTOR_1:def 4; :: thesis: verum
end;
hence { [:the carrier of T1,b:] where b is Subset of T2 : b in B2 } \/ { [:a,the carrier of T2:] where a is Subset of T1 : a in B1 } is prebasis of [:T1,T2:] ; :: thesis: verum