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