let Y be non empty set ; :: thesis: for a, b, c being Function of Y,BOOLEAN holds ((a '&' ('not' b)) 'or' (b '&' ('not' c))) 'or' (c '&' ('not' a)) '<' ((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))
let a, b, c be Function of Y,BOOLEAN; :: thesis: ((a '&' ('not' b)) 'or' (b '&' ('not' c))) 'or' (c '&' ('not' a)) '<' ((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))
let z be Element of Y; :: according to BVFUNC_1:def 12 :: thesis: ( not (((a '&' ('not' b)) 'or' (b '&' ('not' c))) 'or' (c '&' ('not' a))) . z = TRUE or (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE )
A1: (((a '&' ('not' b)) 'or' (b '&' ('not' c))) 'or' (c '&' ('not' a))) . z = (((a '&' ('not' b)) 'or' (b '&' ('not' c))) . z) 'or' ((c '&' ('not' a)) . z) by BVFUNC_1:def 4
.= (((a '&' ('not' b)) . z) 'or' ((b '&' ('not' c)) . z)) 'or' ((c '&' ('not' a)) . z) by BVFUNC_1:def 4
.= (((a . z) '&' (('not' b) . z)) 'or' ((b '&' ('not' c)) . z)) 'or' ((c '&' ('not' a)) . z) by MARGREL1:def 20
.= (((a . z) '&' (('not' b) . z)) 'or' ((b . z) '&' (('not' c) . z))) 'or' ((c '&' ('not' a)) . z) by MARGREL1:def 20
.= (((a . z) '&' (('not' b) . z)) 'or' ((b . z) '&' (('not' c) . z))) 'or' ((c . z) '&' (('not' a) . z)) by MARGREL1:def 20
.= (((a . z) '&' ('not' (b . z))) 'or' ((b . z) '&' (('not' c) . z))) 'or' ((c . z) '&' (('not' a) . z)) by MARGREL1:def 19
.= (((a . z) '&' ('not' (b . z))) 'or' ((b . z) '&' ('not' (c . z)))) 'or' ((c . z) '&' (('not' a) . z)) by MARGREL1:def 19
.= (((a . z) '&' ('not' (b . z))) 'or' ((b . z) '&' ('not' (c . z)))) 'or' ((c . z) '&' ('not' (a . z))) by MARGREL1:def 19 ;
assume A2: (((a '&' ('not' b)) 'or' (b '&' ('not' c))) 'or' (c '&' ('not' a))) . z = TRUE ; :: thesis: (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE
now :: thesis: ( (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z <> TRUE implies (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE )
A3: ( (a . z) '&' (('not' c) . z) = TRUE or (a . z) '&' (('not' c) . z) = FALSE ) by XBOOLEAN:def 3;
assume A4: (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z <> TRUE ; :: thesis: (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE
A5: ( (c . z) '&' (('not' b) . z) = TRUE or (c . z) '&' (('not' b) . z) = FALSE ) by XBOOLEAN:def 3;
A6: (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = (((b '&' ('not' a)) 'or' (c '&' ('not' b))) . z) 'or' ((a '&' ('not' c)) . z) by BVFUNC_1:def 4
.= (((b '&' ('not' a)) . z) 'or' ((c '&' ('not' b)) . z)) 'or' ((a '&' ('not' c)) . z) by BVFUNC_1:def 4
.= (((b . z) '&' (('not' a) . z)) 'or' ((c '&' ('not' b)) . z)) 'or' ((a '&' ('not' c)) . z) by MARGREL1:def 20
.= (((b . z) '&' (('not' a) . z)) 'or' ((c . z) '&' (('not' b) . z))) 'or' ((a '&' ('not' c)) . z) by MARGREL1:def 20
.= (((b . z) '&' (('not' a) . z)) 'or' ((c . z) '&' (('not' b) . z))) 'or' ((a . z) '&' (('not' c) . z)) by MARGREL1:def 20 ;
( ((b . z) '&' (('not' a) . z)) 'or' ((c . z) '&' (('not' b) . z)) = TRUE or ((b . z) '&' (('not' a) . z)) 'or' ((c . z) '&' (('not' b) . z)) = FALSE ) by XBOOLEAN:def 3;
then A7: ( b . z = FALSE or ('not' a) . z = FALSE ) by A4, A6, A5, MARGREL1:12;
now :: thesis: ( ( a . z = FALSE & (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE ) or ( ('not' c) . z = FALSE & (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE ) )
per cases ( a . z = FALSE or ('not' c) . z = FALSE ) by A4, A6, A3, MARGREL1:12;
case a . z = FALSE ; :: thesis: (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE
hence (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE by A2, A1, A6, A7, MARGREL1:def 19; :: thesis: verum
end;
case ('not' c) . z = FALSE ; :: thesis: (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE
end;
end;
end;
hence (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE ; :: thesis: verum
end;
hence (((b '&' ('not' a)) 'or' (c '&' ('not' b))) 'or' (a '&' ('not' c))) . z = TRUE ; :: thesis: verum