let Y be non empty set ; :: thesis: for a, b, c being Element of Funcs Y,BOOLEAN holds a 'eqv' b '<' (a '&' c) 'eqv' (b '&' c)
let a, b, c be Element of Funcs Y,BOOLEAN ; :: thesis: a 'eqv' b '<' (a '&' c) 'eqv' (b '&' c)
let z be Element of Y; :: according to BVFUNC_1:def 15 :: thesis: ( not K90(Y,BOOLEAN ,(a 'eqv' b),z) = TRUE or K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE )
assume A1: (a 'eqv' b) . z = TRUE ; :: thesis: K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE
A2: (a 'eqv' b) . z = ((a 'imp' b) '&' (b 'imp' a)) . z by BVFUNC_4:7
.= ((a 'imp' b) . z) '&' ((b 'imp' a) . z) by MARGREL1:def 21 ;
then A3: ( (a 'imp' b) . z = TRUE & (b 'imp' a) . z = TRUE ) by A1, MARGREL1:45;
then A4: ('not' (a . z)) 'or' (b . z) = TRUE by BVFUNC_1:def 11;
A5: ( b . z = TRUE or b . z = FALSE ) by XBOOLEAN:def 3;
A6: (b 'imp' a) . z = ('not' (b . z)) 'or' (a . z) by BVFUNC_1:def 11;
A7: ('not' (b . z)) 'or' (a . z) = TRUE by A3, BVFUNC_1:def 11;
A8: ( a . z = TRUE or a . z = FALSE ) by XBOOLEAN:def 3;
A9: ((a '&' c) 'eqv' (b '&' c)) . z = (((a '&' c) 'imp' (b '&' c)) '&' ((b '&' c) 'imp' (a '&' c))) . z by BVFUNC_4:7
.= (((a '&' c) 'imp' (b '&' c)) . z) '&' (((b '&' c) 'imp' (a '&' c)) . z) by MARGREL1:def 21
.= (('not' ((a '&' c) . z)) 'or' ((b '&' c) . z)) '&' (((b '&' c) 'imp' (a '&' c)) . z) by BVFUNC_1:def 11
.= (('not' ((a '&' c) . z)) 'or' ((b '&' c) . z)) '&' (('not' ((b '&' c) . z)) 'or' ((a '&' c) . z)) by BVFUNC_1:def 11
.= (('not' ((a . z) '&' (c . z))) 'or' ((b '&' c) . z)) '&' (('not' ((b '&' c) . z)) 'or' ((a '&' c) . z)) by MARGREL1:def 21
.= (('not' ((a . z) '&' (c . z))) 'or' ((b . z) '&' (c . z))) '&' (('not' ((b '&' c) . z)) 'or' ((a '&' c) . z)) by MARGREL1:def 21
.= (('not' ((a . z) '&' (c . z))) 'or' ((b . z) '&' (c . z))) '&' (('not' ((b . z) '&' (c . z))) 'or' ((a '&' c) . z)) by MARGREL1:def 21
.= ((('not' (a . z)) 'or' ('not' (c . z))) 'or' ((b . z) '&' (c . z))) '&' ((('not' (b . z)) 'or' ('not' (c . z))) 'or' ((a . z) '&' (c . z))) by MARGREL1:def 21 ;
now
per cases ( 'not' (a . z) = TRUE or b . z = TRUE ) by A4, A5, BINARITH:7;
case A10: 'not' (a . z) = TRUE ; :: thesis: K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE
then A11: a . z = FALSE by MARGREL1:41;
then 'not' (b . z) = TRUE by A7, BINARITH:7;
then ((a '&' c) 'eqv' (b '&' c)) . z = ((TRUE 'or' ('not' (c . z))) 'or' FALSE ) '&' ((TRUE 'or' ('not' (c . z))) 'or' FALSE ) by A9, A10, A11, MARGREL1:49
.= (TRUE 'or' ('not' (c . z))) '&' (TRUE 'or' ('not' (c . z))) by BINARITH:7
.= TRUE by BINARITH:19 ;
hence K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE ; :: thesis: verum
end;
case A12: b . z = TRUE ; :: thesis: K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE
then 'not' (b . z) = FALSE by MARGREL1:41;
then ((a '&' c) 'eqv' (b '&' c)) . z = ((FALSE 'or' ('not' (c . z))) 'or' (c . z)) '&' ((FALSE 'or' ('not' (c . z))) 'or' (c . z)) by A1, A2, A6, A8, A9, A12, BINARITH:7, MARGREL1:45
.= (('not' (c . z)) 'or' (c . z)) '&' (('not' (c . z)) 'or' (c . z)) by BINARITH:7
.= TRUE by XBOOLEAN:102 ;
hence K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE ; :: thesis: verum
end;
end;
end;
hence K90(Y,BOOLEAN ,((a '&' c) 'eqv' (b '&' c)),z) = TRUE ; :: thesis: verum