let A be set ; for B, C, D being Element of Fin (DISJOINT_PAIRS A) st B c= C holds
B ^ D c= C ^ D
let B, C, D be Element of Fin (DISJOINT_PAIRS A); ( B c= C implies B ^ D c= C ^ D )
deffunc H1( Element of DISJOINT_PAIRS A, Element of DISJOINT_PAIRS A) -> Element of [:(Fin A),(Fin A):] = $1 \/ $2;
defpred S1[ set , set ] means ( $1 in B & $2 in D );
defpred S2[ set , set ] means ( $1 in C & $2 in D );
set X1 = { H1(s,t) where s, t is Element of DISJOINT_PAIRS A : S1[s,t] } ;
set X2 = { H1(s,t) where s, t is Element of DISJOINT_PAIRS A : S2[s,t] } ;
assume
B c= C
; B ^ D c= C ^ D
then A1:
for s, t being Element of DISJOINT_PAIRS A st S1[s,t] holds
S2[s,t]
;
{ H1(s,t) where s, t is Element of DISJOINT_PAIRS A : S1[s,t] } c= { H1(s,t) where s, t is Element of DISJOINT_PAIRS A : S2[s,t] }
from FRAENKEL:sch 2(A1);
hence
B ^ D c= C ^ D
by XBOOLE_1:26; verum