let Y be non empty set ; :: thesis: for a, b being Function of Y,BOOLEAN holds a '<' ((a '&' b) 'eqv' (b '&' a)) 'eqv' a
let a, b be Function of Y,BOOLEAN; :: thesis: a '<' ((a '&' b) 'eqv' (b '&' a)) 'eqv' a
let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not a . z = TRUE or (((a '&' b) 'eqv' (b '&' a)) 'eqv' a) . z = TRUE )
assume A1: a . z = TRUE ; :: thesis: (((a '&' b) 'eqv' (b '&' a)) 'eqv' a) . z = TRUE
A2: ((a '&' b) 'eqv' (a '&' b)) . z = (((a '&' b) 'imp' (a '&' b)) '&' ((a '&' b) 'imp' (a '&' b))) . z by BVFUNC_4:7
.= (('not' (a '&' b)) 'or' (a '&' b)) . z by BVFUNC_4:8
.= (I_el Y) . z by BVFUNC_4:6
.= TRUE by BVFUNC_1:def 11 ;
(((a '&' b) 'eqv' (b '&' a)) 'eqv' a) . z = ((((a '&' b) 'eqv' (a '&' b)) 'imp' a) '&' (a 'imp' ((a '&' b) 'eqv' (a '&' b)))) . z by BVFUNC_4:7
.= ((((a '&' b) 'eqv' (a '&' b)) 'imp' a) . z) '&' ((a 'imp' ((a '&' b) 'eqv' (a '&' b))) . z) by MARGREL1:def 20
.= ((('not' ((a '&' b) 'eqv' (a '&' b))) 'or' a) . z) '&' ((a 'imp' ((a '&' b) 'eqv' (a '&' b))) . z) by BVFUNC_4:8
.= ((('not' ((a '&' b) 'eqv' (a '&' b))) 'or' a) . z) '&' ((('not' a) 'or' ((a '&' b) 'eqv' (a '&' b))) . z) by BVFUNC_4:8
.= ((('not' ((a '&' b) 'eqv' (a '&' b))) . z) 'or' (a . z)) '&' ((('not' a) 'or' ((a '&' b) 'eqv' (a '&' b))) . z) by BVFUNC_1:def 4
.= ((('not' ((a '&' b) 'eqv' (a '&' b))) . z) 'or' (a . z)) '&' ((('not' a) . z) 'or' (((a '&' b) 'eqv' (a '&' b)) . z)) by BVFUNC_1:def 4
.= (('not' (((a '&' b) 'eqv' (a '&' b)) . z)) 'or' (a . z)) '&' ((('not' a) . z) 'or' (((a '&' b) 'eqv' (a '&' b)) . z)) by MARGREL1:def 19
.= (FALSE 'or' (a . z)) '&' ((('not' a) . z) 'or' TRUE) by A2
.= (a . z) '&' ((('not' a) . z) 'or' TRUE)
.= TRUE '&' (a . z)
.= TRUE by A1 ;
hence (((a '&' b) 'eqv' (b '&' a)) 'eqv' a) . z = TRUE ; :: thesis: verum