let Y be non empty set ; :: thesis: for a, b being Function of Y,BOOLEAN holds ((a 'imp' b) 'imp' a) 'imp' a = I_el Y
let a, b be Function of Y,BOOLEAN; :: thesis: ((a 'imp' b) 'imp' a) 'imp' a = I_el Y
for x being Element of Y holds (((a 'imp' b) 'imp' a) 'imp' a) . x = TRUE
proof
let x be Element of Y; :: thesis: (((a 'imp' b) 'imp' a) 'imp' a) . x = TRUE
(((a 'imp' b) 'imp' a) 'imp' a) . x = (('not' ((a 'imp' b) 'imp' a)) 'or' a) . x by BVFUNC_4:8
.= (('not' (('not' (a 'imp' b)) 'or' a)) 'or' a) . x by BVFUNC_4:8
.= (('not' (('not' (('not' a) 'or' b)) 'or' a)) 'or' a) . x by BVFUNC_4:8
.= (('not' ((('not' ('not' a)) '&' ('not' b)) 'or' a)) 'or' a) . x by BVFUNC_1:13
.= (('not' ((a 'or' a) '&' (('not' b) 'or' a))) 'or' a) . x by BVFUNC_1:11
.= ((('not' a) 'or' ('not' (('not' b) 'or' a))) 'or' a) . x by BVFUNC_1:14
.= ((('not' a) 'or' (('not' ('not' b)) '&' ('not' a))) 'or' a) . x by BVFUNC_1:13
.= (((('not' a) 'or' b) '&' (('not' a) 'or' ('not' a))) 'or' a) . x by BVFUNC_1:11
.= (((('not' a) 'or' b) 'or' a) '&' (('not' a) 'or' a)) . x by BVFUNC_1:11
.= (((('not' a) 'or' b) 'or' a) '&' (I_el Y)) . x by BVFUNC_4:6
.= ((('not' a) 'or' b) 'or' a) . x by BVFUNC_1:6
.= (b 'or' (('not' a) 'or' a)) . x by BVFUNC_1:8
.= (b 'or' (I_el Y)) . x by BVFUNC_4:6
.= TRUE by BVFUNC_1:10, BVFUNC_1:def 11 ;
hence (((a 'imp' b) 'imp' a) 'imp' a) . x = TRUE ; :: thesis: verum
end;
hence ((a 'imp' b) 'imp' a) 'imp' a = I_el Y by BVFUNC_1:def 11; :: thesis: verum