let Y be non empty set ; :: thesis: for G being Subset of (PARTITIONS Y)
for a, b being Function of Y,BOOLEAN
for PA being a_partition of Y holds a 'xor' b '<' ('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))

let G be Subset of (PARTITIONS Y); :: thesis: for a, b being Function of Y,BOOLEAN
for PA being a_partition of Y holds a 'xor' b '<' ('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))

let a, b be Function of Y,BOOLEAN; :: thesis: for PA being a_partition of Y holds a 'xor' b '<' ('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))
let PA be a_partition of Y; :: thesis: a 'xor' b '<' ('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))
A1: Ex (('not' a),PA,G) = B_SUP (('not' a),(CompF (PA,G))) by BVFUNC_2:def 10;
let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not (a 'xor' b) . z = TRUE or (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))) . z = TRUE )
A2: Ex (('not' b),PA,G) = B_SUP (('not' b),(CompF (PA,G))) by BVFUNC_2:def 10;
A3: ( (a . z) '&' ('not' (b . z)) = TRUE or (a . z) '&' ('not' (b . z)) = FALSE ) by XBOOLEAN:def 3;
A4: (a 'xor' b) . z = (a . z) 'xor' (b . z) by BVFUNC_1:def 5
.= (('not' (a . z)) '&' (b . z)) 'or' ((a . z) '&' ('not' (b . z))) ;
A5: z in EqClass (z,(CompF (PA,G))) by EQREL_1:def 6;
A6: FALSE '&' TRUE = FALSE by MARGREL1:13;
assume A7: (a 'xor' b) . z = TRUE ; :: thesis: (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))) . z = TRUE
per cases ( ('not' (a . z)) '&' (b . z) = TRUE or (a . z) '&' ('not' (b . z)) = TRUE ) by A7, A4, A3, BINARITH:3;
suppose A8: ('not' (a . z)) '&' (b . z) = TRUE ; :: thesis: (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))) . z = TRUE
then 'not' (a . z) = TRUE by MARGREL1:12;
then ('not' a) . z = TRUE by MARGREL1:def 19;
then A9: (B_SUP (('not' a),(CompF (PA,G)))) . z = TRUE by A5, BVFUNC_1:def 17;
A10: ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G)))) . z = 'not' (((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))) . z) by MARGREL1:def 19;
b . z = TRUE by A8, MARGREL1:12;
then (B_SUP (b,(CompF (PA,G)))) . z = TRUE by A5, BVFUNC_1:def 17;
then A11: (Ex (b,PA,G)) . z = TRUE by BVFUNC_2:def 10;
A12: ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G))) . z = ((Ex (('not' a),PA,G)) . z) 'xor' ((Ex (b,PA,G)) . z) by BVFUNC_1:def 5
.= FALSE by A1, A6, A9, A11, MARGREL1:11 ;
thus (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))) . z = (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) . z) 'or' (('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G)))) . z) by BVFUNC_1:def 4
.= ('not' FALSE) 'or' ('not' (((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))) . z)) by A12, A10, MARGREL1:def 19
.= TRUE 'or' ('not' (((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))) . z)) by MARGREL1:11
.= TRUE by BINARITH:10 ; :: thesis: verum
end;
suppose A13: (a . z) '&' ('not' (b . z)) = TRUE ; :: thesis: (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))) . z = TRUE
then a . z = TRUE by MARGREL1:12;
then (B_SUP (a,(CompF (PA,G)))) . z = TRUE by A5, BVFUNC_1:def 17;
then A14: (Ex (a,PA,G)) . z = TRUE by BVFUNC_2:def 10;
A15: ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G)))) . z = 'not' (((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))) . z) by MARGREL1:def 19;
'not' (b . z) = TRUE by A13, MARGREL1:12;
then ('not' b) . z = TRUE by MARGREL1:def 19;
then A16: (B_SUP (('not' b),(CompF (PA,G)))) . z = TRUE by A5, BVFUNC_1:def 17;
A17: ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))) . z = ((Ex (a,PA,G)) . z) 'xor' ((Ex (('not' b),PA,G)) . z) by BVFUNC_1:def 5
.= FALSE by A2, A6, A16, A14, MARGREL1:11 ;
thus (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) 'or' ('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G))))) . z = (('not' ((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G)))) . z) 'or' (('not' ((Ex (a,PA,G)) 'xor' (Ex (('not' b),PA,G)))) . z) by BVFUNC_1:def 4
.= ('not' (((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G))) . z)) 'or' ('not' FALSE) by A17, A15, MARGREL1:def 19
.= ('not' (((Ex (('not' a),PA,G)) 'xor' (Ex (b,PA,G))) . z)) 'or' TRUE by MARGREL1:11
.= TRUE by BINARITH:10 ; :: thesis: verum
end;
end;