let Y be non empty set ; :: thesis: for a, b being Function of Y,BOOLEAN holds (a 'imp' b) 'imp' (b 'imp' a) = b 'imp' a
let a, b be Function of Y,BOOLEAN; :: thesis: (a 'imp' b) 'imp' (b 'imp' a) = b 'imp' a
(a 'imp' b) 'imp' (b 'imp' a) = (('not' a) 'or' b) 'imp' (b 'imp' a) by BVFUNC_4:8
.= (('not' a) 'or' b) 'imp' (('not' b) 'or' a) by BVFUNC_4:8
.= ('not' (('not' a) 'or' b)) 'or' (('not' b) 'or' a) by BVFUNC_4:8
.= (('not' ('not' a)) '&' ('not' b)) 'or' (('not' b) 'or' a) by BVFUNC_1:13
.= ((a '&' ('not' b)) 'or' ('not' b)) 'or' a by BVFUNC_1:8
.= ((a 'or' ('not' b)) '&' (('not' b) 'or' ('not' b))) 'or' a by BVFUNC_1:11
.= ((a 'or' ('not' b)) 'or' a) '&' (('not' b) 'or' a) by BVFUNC_1:11
.= (('not' b) 'or' (a 'or' a)) '&' (('not' b) 'or' a) by BVFUNC_1:8
.= ('not' b) 'or' a ;
hence (a 'imp' b) 'imp' (b 'imp' a) = b 'imp' a by BVFUNC_4:8; :: thesis: verum