let Y be non empty set ; :: thesis: for a, b, c being Function of Y,BOOLEAN holds ((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c) = I_el Y
let a, b, c be Function of Y,BOOLEAN; :: thesis: ((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c) = I_el Y
for x being Element of Y holds (((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c)) . x = TRUE
proof
let x be Element of Y; :: thesis: (((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c)) . x = TRUE
(((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c)) . x = ('not' (((a 'or' c) '&' (b 'or' c)) . x)) 'or' (((a '&' b) 'or' c) . x) by BVFUNC_1:def 8
.= ('not' (((a 'or' c) . x) '&' ((b 'or' c) . x))) 'or' (((a '&' b) 'or' c) . x) by MARGREL1:def 20
.= ('not' (((a . x) 'or' (c . x)) '&' ((b 'or' c) . x))) 'or' (((a '&' b) 'or' c) . x) by BVFUNC_1:def 4
.= (('not' ((a . x) 'or' (c . x))) 'or' ('not' ((b . x) 'or' (c . x)))) 'or' (((a '&' b) 'or' c) . x) by BVFUNC_1:def 4
.= (('not' ((a . x) 'or' (c . x))) 'or' ('not' ((b . x) 'or' (c . x)))) 'or' (((a '&' b) . x) 'or' (c . x)) by BVFUNC_1:def 4
.= (('not' ((a . x) 'or' (c . x))) 'or' ('not' ((b . x) 'or' (c . x)))) 'or' ((c . x) 'or' ((a . x) '&' (b . x))) by MARGREL1:def 20
.= (('not' ((a . x) 'or' (c . x))) 'or' ('not' ((b . x) 'or' (c . x)))) 'or' (((a . x) 'or' (c . x)) '&' ((c . x) 'or' (b . x))) by XBOOLEAN:9
.= ((('not' ((a . x) 'or' (c . x))) 'or' ('not' ((b . x) 'or' (c . x)))) 'or' ((a . x) 'or' (c . x))) '&' ((('not' ((a . x) 'or' (c . x))) 'or' ('not' ((b . x) 'or' (c . x)))) 'or' ((b . x) 'or' (c . x))) by XBOOLEAN:9
.= (('not' ((b . x) 'or' (c . x))) 'or' (('not' ((a . x) 'or' (c . x))) 'or' ((a . x) 'or' (c . x)))) '&' (('not' ((a . x) 'or' (c . x))) 'or' (('not' ((b . x) 'or' (c . x))) 'or' ((b . x) 'or' (c . x))))
.= (('not' ((b . x) 'or' (c . x))) 'or' TRUE) '&' (('not' ((a . x) 'or' (c . x))) 'or' (('not' ((b . x) 'or' (c . x))) 'or' ((b . x) 'or' (c . x)))) by XBOOLEAN:102
.= TRUE '&' (('not' ((a . x) 'or' (c . x))) 'or' TRUE) by XBOOLEAN:102
.= TRUE ;
hence (((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c)) . x = TRUE ; :: thesis: verum
end;
hence ((a 'or' c) '&' (b 'or' c)) 'imp' ((a '&' b) 'or' c) = I_el Y by BVFUNC_1:def 11; :: thesis: verum