HOME

TheInfoList



OR:

In propositional logic and
Boolean algebra In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values ''true'' and ''false'', usually denoted 1 and 0, whereas i ...
, De Morgan's laws, also known as De Morgan's theorem, are a pair of transformation rules that are both valid rules of inference. They are named after Augustus De Morgan, a 19th-century British mathematician. The rules allow the expression of conjunctions and disjunctions purely in terms of each other via
negation In logic, negation, also called the logical complement, is an operation that takes a proposition P to another proposition "not P", written \neg P, \mathord P or \overline. It is interpreted intuitively as being true when P is false, and false ...
. The rules can be expressed in English as: * The negation of a disjunction is the conjunction of the negations * The negation of a conjunction is the disjunction of the negations or * The complement of the union of two sets is the same as the intersection of their complements * The complement of the intersection of two sets is the same as the union of their complements or * not (A or B) = (not A) and (not B) * not (A and B) = (not A) or (not B) where "A or B" is an " inclusive or" meaning ''at least'' one of A or B rather than an " exclusive or" that means ''exactly'' one of A or B. In
set theory Set theory is the branch of mathematical logic that studies sets, which can be informally described as collections of objects. Although objects of any kind can be collected into a set, set theory, as a branch of mathematics, is mostly concern ...
and
Boolean algebra In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values ''true'' and ''false'', usually denoted 1 and 0, whereas i ...
, these are written formally as :\begin \overline &= \overline \cap \overline, \\ \overline &= \overline \cup \overline, \end where * A and B are sets, * \overline is the complement of A, * \cap is the
intersection In mathematics, the intersection of two or more objects is another object consisting of everything that is contained in all of the objects simultaneously. For example, in Euclidean geometry, when two lines in a plane are not parallel, thei ...
, and * \cup is the union. In
formal language In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules. The alphabet of a formal language consists of sym ...
, the rules are written as :\neg(P\lor Q)\iff(\neg P)\land(\neg Q), and :\neg(P\land Q)\iff(\neg P)\lor(\neg Q) where * ''P'' and ''Q are propositions,'' * \neg is the negation logic operator (NOT), * \land is the conjunction logic operator (AND), * \lor is the disjunction logic operator (OR), * \iff is a metalogical symbol meaning "can be replaced in a logical proof with". Applications of the rules include simplification of logical expressions in
computer program A computer program is a sequence or set of instructions in a programming language for a computer to Execution (computing), execute. Computer programs are one component of software, which also includes software documentation, documentation and oth ...
s and digital circuit designs. De Morgan's laws are an example of a more general concept of mathematical duality.


Formal notation

The ''negation of conjunction'' rule may be written in sequent notation: :\neg(P \land Q) \vdash (\neg P \lor \neg Q), and :(\neg P \lor \neg Q) \vdash \neg(P \land Q). The ''negation of disjunction'' rule may be written as: :\neg(P \lor Q) \vdash (\neg P \land \neg Q), and :(\neg P \land \neg Q) \vdash \neg(P \lor Q). In rule form: ''negation of conjunction'' :\frac :\frac and ''negation of disjunction'' :\frac :\frac and expressed as a truth-functional tautology or
theorem In mathematics, a theorem is a statement that has been proved, or can be proved. The ''proof'' of a theorem is a logical argument that uses the inference rules of a deductive system to establish that the theorem is a logical consequence of t ...
of propositional logic: :\begin \neg (P \land Q) &\to (\neg P \lor \neg Q), \\ (\neg P \lor \neg Q) &\to \neg (P \land Q), \\ \neg (P \lor Q) &\to (\neg P \land \neg Q), \\ (\neg P \land \neg Q) &\to \neg (P \lor Q), \end where P and Q are propositions expressed in some formal system.


Substitution form

De Morgan's laws are normally shown in the compact form above, with the negation of the output on the left and negation of the inputs on the right. A clearer form for substitution can be stated as: :\begin (P \land Q) &\Longleftrightarrow \neg (\neg P \lor \neg Q), \\ (P \lor Q) &\Longleftrightarrow \neg (\neg P \land \neg Q). \end This emphasizes the need to invert both the inputs and the output, as well as change the operator when doing a substitution. The laws have an important gap to the (\neg(\neg p) \iff p) double negation law. \mathbb, to become a formal logic system: \ p, q, r, ...., \emptyset \in \mathbb\ sequence reports symbols that are defined well formed at first order. The same system has those conjunctions: C_:x\ , \ x \in set :: \. Obviously, C_ = set, \ x \in C_ is valid knowledge, then there is at least one x conjunction, which -T number —in the truth table, basic proposition of x— is equal to atomic existence context of x, of course according to the \forall x:(\mathbb\vDash \forall c \subsetneq C_, \ x\in c) knowledge. We regarded the equivalence theory, the logic does. At this point, De Morgan Laws show effect that is upward or downward, the atomic context of x.


Set theory and Boolean algebra

In set theory and
Boolean algebra In mathematics and mathematical logic, Boolean algebra is a branch of algebra. It differs from elementary algebra in two ways. First, the values of the variables are the truth values ''true'' and ''false'', usually denoted 1 and 0, whereas i ...
, it is often stated as "union and intersection interchange under complementation", which can be formally expressed as: :\begin \overline &= \overline \cap \overline, \\ \overline &= \overline \cup \overline, \end where: * \overline is the negation of A, the overline being written above the terms to be negated, * \cap is the
intersection In mathematics, the intersection of two or more objects is another object consisting of everything that is contained in all of the objects simultaneously. For example, in Euclidean geometry, when two lines in a plane are not parallel, thei ...
operator (AND), * \cup is the union operator (OR).


Unions and intersections of any number of sets

The generalized form is : \begin \overline &\equiv \bigcup_ \overline, \\ \overline &\equiv \bigcap_ \overline, \end where is some, possibly countably or uncountably infinite, indexing set. In set notation, De Morgan's laws can be remembered using the
mnemonic A mnemonic ( ) device, or memory device, is any learning technique that aids information retention or retrieval (remembering) in the human memory for better understanding. Mnemonics make use of elaborative encoding, retrieval cues, and image ...
"break the line, change the sign".


Engineering

In electrical and
computer engineering Computer engineering (CoE or CpE) is a branch of electrical engineering and computer science that integrates several fields of computer science and electronic engineering required to develop computer hardware and software. Computer engineers n ...
, De Morgan's laws are commonly written as: : \overline \equiv \overline + \overline and : \overline \equiv \overline \cdot \overline , where: * \cdot is the logical AND, * + is the logical OR, * the is the logical NOT of what is underneath the overbar.


Text searching

De Morgan's laws commonly apply to text searching using Boolean operators AND, OR, and NOT. Consider a set of documents containing the words "cats" and "dogs". De Morgan's laws hold that these two searches will return the same set of documents: :Search A: NOT (cats OR dogs) :Search B: (NOT cats) AND (NOT dogs) The corpus of documents containing "cats" or "dogs" can be represented by four documents: :Document 1: Contains only the word "cats". :Document 2: Contains only "dogs". :Document 3: Contains both "cats" and "dogs". :Document 4: Contains neither "cats" nor "dogs". To evaluate Search A, clearly the search "(cats OR dogs)" will hit on Documents 1, 2, and 3. So the negation of that search (which is Search A) will hit everything else, which is Document 4. Evaluating Search B, the search "(NOT cats)" will hit on documents that do not contain "cats", which is Documents 2 and 4. Similarly the search "(NOT dogs)" will hit on Documents 1 and 4. Applying the AND operator to these two searches (which is Search B) will hit on the documents that are common to these two searches, which is Document 4. A similar evaluation can be applied to show that the following two searches will return the same set of documents (Documents 1, 2, 4): :Search C: NOT (cats AND dogs), :Search D: (NOT cats) OR (NOT dogs).


History

The laws are named after Augustus De Morgan (1806–1871), who introduced a formal version of the laws to classical propositional logic. De Morgan's formulation was influenced by algebraization of logic undertaken by George Boole, which later cemented De Morgan's claim to the find. Nevertheless, a similar observation was made by
Aristotle Aristotle (; grc-gre, Ἀριστοτέλης ''Aristotélēs'', ; 384–322 BC) was a Greek philosopher and polymath during the Classical period in Ancient Greece. Taught by Plato, he was the founder of the Peripatetic school of ...
, and was known to Greek and Medieval logicians. For example, in the 14th century, William of Ockham wrote down the words that would result by reading the laws out. Jean Buridan, in his ''Summulae de Dialectica'', also describes rules of conversion that follow the lines of De Morgan's laws. Still, De Morgan is given credit for stating the laws in the terms of modern formal logic, and incorporating them into the language of logic. De Morgan's laws can be proved easily, and may even seem trivial. Nonetheless, these laws are helpful in making valid inferences in proofs and deductive arguments.


Informal proof

De Morgan's theorem may be applied to the negation of a
disjunction In logic, disjunction is a logical connective typically notated as \lor and read aloud as "or". For instance, the English language sentence "it is raining or it is snowing" can be represented in logic using the disjunctive formula R \lor ...
or the negation of a conjunction in all or part of a formula.


Negation of a disjunction

In the case of its application to a disjunction, consider the following claim: "it is false that either of A or B is true", which is written as: :\neg(A\lor B). In that it has been established that ''neither'' A nor B is true, then it must follow that both A is not true
and or AND may refer to: Logic, grammar, and computing * Conjunction (grammar), connecting two words, phrases, or clauses * Logical conjunction in mathematical logic, notated as "∧", "⋅", "&", or simple juxtaposition * Bitwise AND, a boolea ...
B is not true, which may be written directly as: :(\neg A)\wedge(\neg B). If either A or B ''were'' true, then the disjunction of A and B would be true, making its negation false. Presented in English, this follows the logic that "since two things are both false, it is also false that either of them is true". Working in the opposite direction, the second expression asserts that A is false and B is false (or equivalently that "not A" and "not B" are true). Knowing this, a disjunction of A and B must be false also. The negation of said disjunction must thus be true, and the result is identical to the first claim.


Negation of a conjunction

The application of De Morgan's theorem to conjunction is very similar to its application to a disjunction both in form and rationale. Consider the following claim: "it is false that A and B are both true", which is written as: :\neg(A\land B). In order for this claim to be true, either or both of A or B must be false, for if they both were true, then the conjunction of A and B would be true, making its negation false. Thus, one (at least) or more of A and B must be false (or equivalently, one or more of "not A" and "not B" must be true). This may be written directly as, :(\neg A)\lor(\neg B). Presented in English, this follows the logic that "since it is false that two things are both true, at least one of them must be false". Working in the opposite direction again, the second expression asserts that at least one of "not A" and "not B" must be true, or equivalently that at least one of A and B must be false. Since at least one of them must be false, then their conjunction would likewise be false. Negating said conjunction thus results in a true expression, and this expression is identical to the first claim.


Formal proof

Here we use A^\complementto denote the complement of A. The proof that (A\cap B)^\complement = A^\complement \cup B^\complement is completed in 2 steps by proving both (A\cap B)^\complement \subseteq A^\complement \cup B^\complement and A^\complement \cup B^\complement \subseteq (A\cap B)^\complement.


Part 1

Let x \in (A \cap B)^\complement. Then, x \not\in A \cap B. Because A \cap B = \, it must be the case that x \not\in A or x \not\in B. If x \not\in A, then x \in A^\complement, so x \in A^\complement \cup B^\complement. Similarly, if x \not\in B, then x \in B^\complement, so x \in A^\complement\cup B^\complement. Thus, \forall x\Big( x \in (A\cap B)^\complement \implies x \in A^\complement \cup B^\complement\Big); that is, (A\cap B)^\complement \subseteq A^\complement \cup B^\complement.


Part 2

To prove the reverse direction, let x \in A^\complement \cup B^\complement, and for contradiction assume x \not\in (A\cap B)^\complement. Under that assumption, it must be the case that x \in A\cap B, so it follows that x \in A and x \in B, and thus x \not\in A^\complement and x \not\in B^\complement. However, that means x \not\in A^\complement \cup B^\complement, in contradiction to the hypothesis that x \in A^\complement \cup B^\complement, therefore, the assumption x \not\in (A\cap B)^\complement must not be the case, meaning that x \in (A\cap B)^\complement. Hence, \forall x\Big( x \in A^\complement \cup B^\complement \implies x \in (A\cap B)^\complement\Big), that is, A^\complement \cup B^\complement \subseteq (A\cap B)^\complement.


Conclusion

If A^\complement \cup B^\complement \subseteq (A\cap B)^\complement ''and'' (A \cap B)^\complement \subseteq A^\complement \cup B^\complement, then (A\cap B)^\complement = A^\complement \cup B^\complement; this concludes the proof of De Morgan's law. The other De Morgan's law, (A \cup B)^\complement = A^\complement \cap B^\complement, is proven similarly.


Generalising De Morgan duality

In extensions of classical propositional logic, the duality still holds (that is, to any logical operator one can always find its dual), since in the presence of the identities governing negation, one may always introduce an operator that is the De Morgan dual of another. This leads to an important property of logics based on
classical logic Classical logic (or standard logic or Frege-Russell logic) is the intensively studied and most widely used class of deductive logic. Classical logic has had much influence on analytic philosophy. Characteristics Each logical system in this class ...
, namely the existence of
negation normal form In mathematical logic, a formula is in negation normal form (NNF) if the negation operator (\lnot, ) is only applied to variables and the only other allowed Boolean operators are conjunction (\land, ) and disjunction (\lor, ). Negation normal fo ...
s: any formula is equivalent to another formula where negations only occur applied to the non-logical atoms of the formula. The existence of negation normal forms drives many applications, for example in
digital circuit In theoretical computer science, a circuit is a model of computation in which input values proceed through a sequence of gates, each of which computes a function. Circuits of this kind provide a generalization of Boolean circuits and a mathemati ...
design, where it is used to manipulate the types of
logic gate A logic gate is an idealized or physical device implementing a Boolean function, a logical operation performed on one or more binary inputs that produces a single binary output. Depending on the context, the term may refer to an ideal logic ga ...
s, and in formal logic, where it is needed to find the conjunctive normal form and disjunctive normal form of a formula. Computer programmers use them to simplify or properly negate complicated logical conditions. They are also often useful in computations in elementary
probability theory Probability theory is the branch of mathematics concerned with probability. Although there are several different probability interpretations, probability theory treats the concept in a rigorous mathematical manner by expressing it through a set ...
. Let one define the dual of any propositional operator P(''p'', ''q'', ...) depending on elementary propositions ''p'', ''q'', ... to be the operator \mbox^d defined by :\mbox^d(p, q, ...) = \neg P(\neg p, \neg q, \dots).


Extension to predicate and modal logic

This duality can be generalised to quantifiers, so for example the universal quantifier and existential quantifier are duals: : \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'' = . Then : \forall x \, P(x) \equiv P(a) \land P(b) \land P(c) and : \exists x \, P(x) \equiv P(a) \lor P(b) \lor P(c). But, using De Morgan's laws, : P(a) \land P(b) \land P(c) \equiv \neg (\neg P(a) \lor \neg P(b) \lor \neg P(c)) and : P(a) \lor P(b) \lor P(c) \equiv \neg (\neg P(a) \land \neg P(b) \land \neg P(c)), verifying the quantifier dualities in the model. Then, the quantifier dualities can be extended further to
modal logic Modal logic is a collection of formal systems developed to represent statements about necessity and possibility. It plays a major role in philosophy of language, epistemology, metaphysics, and natural language semantics. Modal logics extend ot ...
, relating the box ("necessarily") and diamond ("possibly") operators: : \Box p \equiv \neg \Diamond \neg p, : \Diamond p \equiv \neg \Box \neg p. In its application to the alethic modalities of possibility and necessity,
Aristotle Aristotle (; grc-gre, Ἀριστοτέλης ''Aristotélēs'', ; 384–322 BC) was a Greek philosopher and polymath during the Classical period in Ancient Greece. Taught by Plato, he was the founder of the Peripatetic school of ...
observed this case, and in the case of normal modal logic, the relationship of these modal operators to the quantification can be understood by setting up models using Kripke semantics.


In intuitionistic logic

Three out of the four implications of de Morgan's laws hold in intuitionistic logic. Specifically, we have :\neg(P\lor Q)\iff(\neg P)\land(\neg Q), and :(P\lor Q)\rightarrow \neg ((\neg P)\land(\neg Q)), :(P\land Q)\rightarrow \neg ((\neg P)\lor(\neg Q)), :(\neg P)\lor(\neg Q) \rightarrow \neg(P\land Q) while the converse of the last implication does not hold in pure intuitionistic logic and would be equivalent to the law of the weak excluded middle :\neg P \lor \neg \neg P which can be used as a foundation for an intermediate logic. This remains true if negation \neg P is replaced by implication P \rightarrow C for some arbitrary constant predicate C, meaning that the above laws are still true in
minimal logic Minimal logic, or minimal calculus, is a symbolic logic system originally developed by Ingebrigt Johansson. It is an intuitionistic and paraconsistent logic, that rejects both the law of the excluded middle as well as the principle of explosion ...
. Similarly, the quantifier laws: : \forall x \, \neg P(x) \iff \neg \exists x \,P(x) and : \forall x \, P(x) \rightarrow \neg \exists x \, \neg P(x) : \exists x \, P(x) \rightarrow \neg \forall x \, \neg P(x) : \exists x \, \neg P(x) \rightarrow \neg \forall x \, P(x) are tautologies even in minimal logic with negation replaced with implying a fixed Q, while the converse of the last law does not have to be true in general.


In computer engineering

De Morgan's laws are widely used in computer engineering and digital logic for the purpose of simplifying circuit designs.


See also

*
Isomorphism In mathematics, an isomorphism is a structure-preserving mapping between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between them. The word i ...
– NOT operator as isomorphism between positive logic and negative logic * List of Boolean algebra topics * List of set identities and relations *
Positive logic In digital circuits, a logic level is one of a finite number of states that a digital signal can inhabit. Logic levels are usually represented by the voltage difference between the signal and ground, although other standards exist. The range ...


References


External links

* * *
Duality in Logic and Language
''Internet Encyclopedia of Philosophy''. {{Set theory Boolean algebra Duality theories Rules of inference Articles containing proofs Theorems in propositional logic