DeMorgan's theorem

(redirected from De Morgan's laws)
Also found in: Dictionary, Wikipedia.
Related to De Morgan's laws: Demorgan's theorem

DeMorgan's theorem

A logical theorem which states that the complement of a conjunction is the disjunction of the complements or vice versa. In symbols:

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 am either short or fat (or both). The theorem can be extended to combinations of more than two terms in the obvious way.

The same laws also apply to sets, replacing logical complement with set complement, conjunction ("and") with set intersection, and disjunction ("or") with set union.

A (C) programmer might use this to re-write

if (!foo && !bar) ... as if (!(foo || bar)) ...

thus saving one operator application (though an optimising compiler should do the same, leaving the programmer free to use whichever form seemed clearest).
This article is provided by FOLDOC - Free Online Dictionary of Computing (
Mentioned in ?
References in periodicals archive ?
It implements the inference using the first de Morgan's law and the rule of contraposition.
It saves proper inference using second de Morgan's law and the rule of contraposition.