Logical NOR
Template:Short description Template:About Template:Redirect-distinguish Template:Redirect-distinguish-text Template:Use dmy dates Template:Use list-defined references Template:Infobox logical connective Template:Logical connectives sidebar Template:C. S. Peirce articles In Boolean logic, logical NOR,<ref name=":13">Template:Cite book</ref> non-disjunction, or joint denial<ref name=":13" /> is a truth-functional operator which produces a result that is the negation of logical or. That is, a sentence of the form (p NOR q) is true precisely when neither p nor q is true—i.e. when both p and q are false. It is logically equivalent to <math>\neg(p \lor q)</math> and <math>\neg p \land \neg q</math>, where the symbol <math>\neg</math> signifies logical negation, <math>\lor</math> signifies OR, and <math>\land</math> signifies AND.
Non-disjunction is usually denoted as <math>\downarrow</math> or <math>\overline{\vee}</math> or <math>X</math> (prefix) or <math>\operatorname{NOR}</math>.
As with its dual, the NAND operator (also known as the Sheffer stroke—symbolized as either <math>\uparrow</math>, <math>\mid</math> or <math>/</math>), NOR can be used by itself, without any other logical operator, to constitute a logical formal system (making NOR functionally complete).
The computer used in the spacecraft that first carried humans to the moon, the Apollo Guidance Computer, was constructed entirely using NOR gates with three inputs.<ref name="Hall_1996"/>
DefinitionEdit
The NOR operation is a logical operation on two logical values, typically the values of two propositions, that produces a value of true if and only if both operands are false. In other words, it produces a value of false if and only if at least one operand is true.
Truth tableEdit
The truth table of <math>A \downarrow B</math> is as follows:
Logical equivalencesEdit
The logical NOR <math>\downarrow</math> is the negation of the disjunction:
<math>P \downarrow Q</math> | <math>\Leftrightarrow</math> | <math>\neg (P \lor Q)</math> |
File:Venn1000.svg | <math>\Leftrightarrow</math> | <math>\neg</math> File:Venn0111.svg |
Alternative notations and namesEdit
Peirce is the first to show the functional completeness of non-disjunction while he doesn't publish his result.<ref name="peirce1880">Template:Cite encyclopedia</ref><ref name="peirce1902">Template:Cite encyclopedia</ref> Peirce used <math>\overline{\curlywedge}</math> for non-conjunction and <math>\curlywedge</math> for non-disjunction (in fact, what Peirce himself used is <math>\curlywedge</math> and he didn't introduce <math>\overline{\curlywedge}</math> while Peirce's editors made such disambiguated use).<ref name="peirce1902"/> Peirce called <math>\curlywedge</math> the Template:Visible anchor (from Ancient Greek {{#invoke:Lang|lang}}, Template:Transliteration, "cutting both ways").<ref name="peirce1902"/>
In 1911, Template:Ill was the first to publish a description of both non-conjunction (using <math>\sim</math>, the Stamm hook), and non-disjunction (using <math>*</math>, the Stamm star), and showed their functional completeness.<ref name="Stamm_1911"/><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Note that most uses in logical notation of <math>\sim</math> use this for negation.
In 1913, Sheffer described non-disjunction and showed its functional completeness. Sheffer used <math>\mid</math> for non-conjunction, and <math>\wedge</math> for non-disjunction.
In 1935, Webb described non-disjunction for <math>n</math>-valued logic, and use <math>\mid</math> for the operator. So some people call it Webb operator,<ref name="Webb_1935"/> Webb operation<ref name="Vasyukevich_2011"/> or Webb function.<ref name="Freimann-Renfro-Webb_2017"/>
In 1940, Quine also described non-disjunction and use <math>\downarrow</math> for the operator.<ref name="quine1940">Template:Cite book</ref> So some people call the operator Peirce arrow or Quine dagger.
In 1944, Church also described non-disjunction and use <math>\overline{\vee}</math> for the operator.<ref name="church1944">Template:Cite book</ref>
In 1954, Bocheński used <math>X</math> in <math>Xpq</math> for non-disjunction in Polish notation.<ref name="Bochenski1954">Template:Cite book</ref>
APL uses a glyph <syntaxhighlight lang="text" class="" style="" inline="1">⍱</syntaxhighlight> that combines a <syntaxhighlight lang="text" class="" style="" inline="1">∨</syntaxhighlight> with a <syntaxhighlight lang="text" class="" style="" inline="1">~</syntaxhighlight>.<ref>Nor, APL Wiki.</ref>
PropertiesEdit
NOR is commutative but not associative, which means that <math>P \downarrow Q \leftrightarrow Q \downarrow P</math> but <math>(P \downarrow Q) \downarrow R \not\leftrightarrow P \downarrow (Q \downarrow R)</math>.<ref>Template:Cite book</ref>
Functional completenessEdit
The logical NOR, taken by itself, is a functionally complete set of connectives.<ref name=":29">Template:Cite book</ref> This can be proved by first showing, with a truth table, that <math>\neg A</math> is truth-functionally equivalent to <math>A \downarrow A</math>.<ref name=":132">Template:Cite book</ref> Then, since <math>A \downarrow B</math> is truth-functionally equivalent to <math>\neg (A \lor B)</math>,<ref name=":132" /> and <math>A \lor B</math> is equivalent to <math>\neg(\neg A \land \neg B)</math>,<ref name=":132" /> the logical NOR suffices to define the set of connectives <math>\{\land, \lor, \neg\}</math>,<ref name=":132" /> which is shown to be truth-functionally complete by the Disjunctive Normal Form Theorem.<ref name=":132" />
This may also be seen from the fact that Logical NOR does not possess any of the five qualities (truth-preserving, false-preserving, linear, monotonic, self-dual) required to be absent from at least one member of a set of functionally complete operators.
Other Boolean operations in terms of the logical NOREdit
NOR has the interesting feature that all other logical operators can be expressed by interlaced NOR operations. The logical NAND operator also has this ability.
Expressed in terms of NOR <math>\downarrow</math>, the usual operators of propositional logic are:
|
| |||||||||||||||||||||
|
|
See alsoEdit
- Bitwise NOR
- Boolean algebra
- Boolean domain
- Boolean function
- Functional completeness
- NOR gate
- Propositional logic
- Sole sufficient operator
- Sheffer stroke as symbol for the logical NAND