let Y be non empty set ; :: thesis: for a, b, c being Function of Y,BOOLEAN holds (a 'or' b) 'imp' c '<' a 'imp' c
let a, b, c be Function of Y,BOOLEAN; :: thesis: (a 'or' b) 'imp' c '<' a 'imp' c
let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not ((a 'or' b) 'imp' c) . z = TRUE or (a 'imp' c) . z = TRUE )
A1: ((a 'or' b) 'imp' c) . z = (('not' (a 'or' b)) 'or' c) . z by BVFUNC_4:8
.= ((('not' a) '&' ('not' b)) 'or' c) . z by BVFUNC_1:13
.= ((('not' a) '&' ('not' b)) . z) 'or' (c . z) by BVFUNC_1:def 4
.= ((('not' a) . z) '&' (('not' b) . z)) 'or' (c . z) by MARGREL1:def 20 ;
assume A2: ((a 'or' b) 'imp' c) . z = TRUE ; :: thesis: (a 'imp' c) . z = TRUE
now :: thesis: not (a 'imp' c) . z <> TRUE
assume (a 'imp' c) . z <> TRUE ; :: thesis: contradiction
then (a 'imp' c) . z = FALSE by XBOOLEAN:def 3;
then (('not' a) 'or' c) . z = FALSE by BVFUNC_4:8;
then A3: (('not' a) . z) 'or' (c . z) = FALSE by BVFUNC_1:def 4;
((('not' a) . z) '&' (('not' b) . z)) 'or' (c . z) = ((c . z) 'or' (('not' a) . z)) '&' ((c . z) 'or' (('not' b) . z)) by XBOOLEAN:9
.= FALSE by A3 ;
hence contradiction by A2, A1; :: thesis: verum
end;
hence (a 'imp' c) . z = TRUE ; :: thesis: verum