DeMorgan's theorem
DeMorgan's theorem
(logic)not (x and y) = (not x) or (not y)not (x or y) = (not x) and (not y)
E.g. if it is not the case that I am tall and thin then I ameither short or fat (or both). The theorem can be extended tocombinations of more than two terms in the obvious way.
The same laws also apply to sets, replacing logical complementwith set complement, conjunction ("and") with setintersection, and disjunction ("or") with set union.
A (C) programmer might use this to re-write
if (!foo && !bar) ...asif (!(foo || bar)) ...
thus saving one operator application (though an optimising compiler should do the same, leaving the programmer free touse whichever form seemed clearest).