let Y be non empty set ; :: thesis: for a, b being Element of Funcs Y,BOOLEAN holds (a 'or' b) '&' ('not' a) '<' b
let a, b be Element of Funcs Y,BOOLEAN ; :: thesis: (a 'or' b) '&' ('not' a) '<' b
let z be Element of Y; :: according to BVFUNC_1:def 15 :: thesis: ( not ((a 'or' b) '&' ('not' a)) . z = TRUE or b . z = TRUE )
assume A1: ((a 'or' b) '&' ('not' a)) . z = TRUE ; :: thesis: b . z = TRUE
reconsider az = a . z as boolean set ;
A2: ((a 'or' b) '&' ('not' a)) . z = ((a 'or' b) . z) '&' (('not' a) . z) by MARGREL1:def 21
.= (('not' a) . z) '&' ((a . z) 'or' (b . z)) by BVFUNC_1:def 7
.= ((('not' a) . z) '&' (a . z)) 'or' ((('not' a) . z) '&' (b . z)) by XBOOLEAN:8
.= (('not' az) '&' az) 'or' ((('not' a) . z) '&' (b . z)) by MARGREL1:def 20
.= FALSE 'or' ((('not' a) . z) '&' (b . z)) by XBOOLEAN:138
.= (('not' a) . z) '&' (b . z) ;
now
assume b . z <> TRUE ; :: thesis: contradiction
then (('not' a) . z) '&' (b . z) = FALSE '&' (('not' a) . z) by XBOOLEAN:def 3
.= FALSE ;
hence contradiction by A1, A2; :: thesis: verum
end;
hence b . z = TRUE ; :: thesis: verum