let Y be non empty set ; :: thesis: for a, b, c being Element of Funcs Y,BOOLEAN holds a 'imp' b '<' (a 'or' c) 'imp' (b 'or' c)
let a, b, c be Element of Funcs Y,BOOLEAN ; :: thesis: a 'imp' b '<' (a 'or' c) 'imp' (b 'or' c)
let z be Element of Y; :: according to BVFUNC_1:def 15 :: thesis: ( not (a 'imp' b) . z = TRUE or ((a 'or' c) 'imp' (b 'or' 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 7 ;
assume A2: (a 'imp' b) . z = TRUE ; :: thesis: ((a 'or' c) 'imp' (b 'or' c)) . z = TRUE
now
assume A3: ((a 'or' c) 'imp' (b 'or' c)) . z <> TRUE ; :: thesis: contradiction
((a 'or' c) 'imp' (b 'or' c)) . z = (('not' (a 'or' c)) 'or' (b 'or' c)) . z by BVFUNC_4:8
.= (('not' (a 'or' c)) . z) 'or' ((b 'or' c) . z) by BVFUNC_1:def 7
.= (('not' (a 'or' c)) . z) 'or' ((b . z) 'or' (c . z)) by BVFUNC_1:def 7
.= ((('not' (a 'or' c)) . z) 'or' (b . z)) 'or' (c . z)
.= (((('not' a) '&' ('not' c)) . z) 'or' (b . z)) 'or' (c . z) by BVFUNC_1:16
.= ((b . z) 'or' ((('not' a) . z) '&' (('not' c) . z))) 'or' (c . z) by MARGREL1:def 21
.= (((('not' a) . z) 'or' (b . z)) '&' ((b . z) 'or' (('not' c) . z))) 'or' (c . z) by XBOOLEAN:9
.= (b . z) 'or' ((('not' c) . z) 'or' (c . z)) by A2, A1
.= (b . z) 'or' (('not' (c . z)) 'or' (c . z)) by MARGREL1:def 20
.= (b . z) 'or' TRUE by XBOOLEAN:102
.= TRUE ;
hence contradiction by A3; :: thesis: verum
end;
hence ((a 'or' c) 'imp' (b 'or' c)) . z = TRUE ; :: thesis: verum