let Y be non empty set ; :: thesis: for a, b, c, d being Element of Funcs (Y,BOOLEAN) holds a 'imp' ((b '&' c) '&' d) = ((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d)
let a, b, c, d be Element of Funcs (Y,BOOLEAN); :: thesis: a 'imp' ((b '&' c) '&' d) = ((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d)
consider k3 being Function such that
A1: a 'imp' ((b '&' c) '&' d) = k3 and
A2: dom k3 = Y and
rng k3 c= BOOLEAN by FUNCT_2:def 2;
consider k4 being Function such that
A3: ((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d) = k4 and
A4: dom k4 = Y and
rng k4 c= BOOLEAN by FUNCT_2:def 2;
for x being Element of Y holds (a 'imp' ((b '&' c) '&' d)) . x = (((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d)) . x
proof
let x be Element of Y; :: thesis: (a 'imp' ((b '&' c) '&' d)) . x = (((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d)) . x
(((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d)) . x = (((a 'imp' b) '&' (a 'imp' c)) . x) '&' ((a 'imp' d) . x) by MARGREL1:def 20
.= (((a 'imp' b) . x) '&' ((a 'imp' c) . x)) '&' ((a 'imp' d) . x) by MARGREL1:def 20
.= ((('not' (a . x)) 'or' (b . x)) '&' ((a 'imp' c) . x)) '&' ((a 'imp' d) . x) by BVFUNC_1:def 8
.= ((('not' (a . x)) 'or' (b . x)) '&' (('not' (a . x)) 'or' (c . x))) '&' ((a 'imp' d) . x) by BVFUNC_1:def 8
.= ((('not' (a . x)) 'or' (b . x)) '&' (('not' (a . x)) 'or' (c . x))) '&' (('not' (a . x)) 'or' (d . x)) by BVFUNC_1:def 8
.= (('not' (a . x)) 'or' ((b . x) '&' (c . x))) '&' (('not' (a . x)) 'or' (d . x)) by XBOOLEAN:9
.= ('not' (a . x)) 'or' (((b . x) '&' (c . x)) '&' (d . x)) by XBOOLEAN:9
.= ('not' (a . x)) 'or' (((b '&' c) . x) '&' (d . x)) by MARGREL1:def 20
.= ('not' (a . x)) 'or' (((b '&' c) '&' d) . x) by MARGREL1:def 20
.= (a 'imp' ((b '&' c) '&' d)) . x by BVFUNC_1:def 8 ;
hence (a 'imp' ((b '&' c) '&' d)) . x = (((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d)) . x ; :: thesis: verum
end;
then for u being set st u in Y holds
k3 . u = k4 . u by A1, A3;
hence a 'imp' ((b '&' c) '&' d) = ((a 'imp' b) '&' (a 'imp' c)) '&' (a 'imp' d) by A1, A2, A3, A4, FUNCT_1:2; :: thesis: verum