The Online Encyclopedia and Dictionary






De Morgan's laws

In logic, De Morgan's laws (or De Morgan's theorem) are the two rules of propositional logic, boolean algebra and set theory

not (P and Q) = (not P) or (not Q)
not (P or Q) = (not P) and (not Q)

which allow us to move a negation over a conjunction or a disjunction. These are named for nineteenth century logician and mathematician Augustus De Morgan, although maybe unjustly (according to the opinion of Polish historian Bocheński in his History of Formal Logic), since they were already known to Greek logicians since Aristotle. In formal logic the laws are usually written

\neg(P\wedge Q)=(\neg P)\vee(\neg Q)
\neg(P\vee Q)=(\neg P)\wedge(\neg Q)

and in set theory

(A\cap B)^C=A^C\cup B^C
(A\cup B)^C=A^C\cap B^C.

Common uses of De Morgan's rules are in digital circuit design, where it is used to manipulate the types of logic gates, and in formal logic, where it is one of the rules used to transform logical formulae into negation normal form, a prerequisite for conjunctive or disjunctive normal form. Computer programmers use them to change a complicated statement like IF ... AND (... OR ...) THEN ... into its opposite. They are also often useful in computations in elementary probability theory.

Each propositional expression P(p, q, ...) depending on elementary propositions p, q, ... has a De Morgan dual in which each elementary proposition is replaced by its negation and conjunction and disjunction are interchanged. It can be written as

\neg \mbox{P}^d(\neg p, \neg q, ...).

This idea can be generalised to include the universal and existential quantifiers in classical logic as De Morgan duals, as follows:

\forall x \, P(x) \equiv \neg \exists x \, \neg P(x),
\exists x \, P(x) \equiv \neg \forall x \, \neg P(x).

To relate these quantifier dualities to the De Morgan laws, set up a model with some small number of elements in its domain D, such as

D = {a, b, c}.


\forall x \, P(x) \equiv P(a) \wedge P(b) \wedge P(c)


\exists x \, P(x) \equiv P(a) \vee P(b) \vee P(c).

But, using De Morgan's laws,

P(a) \wedge P(b) \wedge P(c) \equiv \neg (\neg P(a) \vee \neg P(b) \vee \neg P(c))


P(a) \vee P(b) \vee P(c) \equiv \neg (\neg P(a) \wedge \neg P(b) \wedge \neg P(c)),

verifying the quantifier dualities in the model.

Then, the quantifier dualities can be extended further to modal logic, relating the necessity and possibility operators:

\Box p \equiv \neg \Diamond \neg p,
\Diamond p \equiv \neg \Box \neg p.

The relationship of these modal operators to the quantification can be understood by setting up models using Kripke semantics.

See also

Last updated: 06-02-2005 13:45:58
The contents of this article are licensed from under the GNU Free Documentation License. How to see transparent copy