Logical NOR

From Wikipedia, the free encyclopedia
(Redirected from Quine dagger)
Jump to navigation Jump to search

Logical NOR
NOR
Venn diagram of Logical NOR
Definitionx+y
Truth table(0001)
Logic gateFile:NOR ANSI.svg
Normal forms
Disjunctivexy
Conjunctivexy
Zhegalkin polynomial1xyxy
Post's lattices
0-preservingno
1-preservingno
Monotoneno
Affineno
Self-dualno

In Boolean logic, logical NOR,[1] non-disjunction, or joint denial[1] 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 ¬(pq) and ¬p¬q, where the symbol ¬ signifies logical negation, signifies OR, and signifies AND.

Non-disjunction is usually denoted as or or X (prefix) or NOR.

As with its dual, the NAND operator (also known as the Sheffer stroke—symbolized as either , or /), 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.[2]

Definition

[edit | edit source]

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 table

[edit | edit source]

The truth table of AB is as follows:

ABAB
FFT
FTF
TFF
TTF

Logical equivalences

[edit | edit source]

The logical NOR is the negation of the disjunction:

PQ          ¬(PQ)
File:Venn1000.svg          ¬ File:Venn0111.svg

Alternative notations and names

[edit | edit source]

Peirce is the first to show the functional completeness of non-disjunction while he doesn't publish his result.[3][4] Peirce used for non-conjunction and for non-disjunction (in fact, what Peirce himself used is and he didn't introduce while Peirce's editors made such disambiguated use).[4] Peirce called the ampheck (from Ancient Greek ἀμφήκης, amphēkēs, "cutting both ways").[4]

In 1911, Stamm (pl) was the first to publish a description of both non-conjunction (using , the Stamm hook), and non-disjunction (using *, the Stamm star), and showed their functional completeness.[5][6] Note that most uses in logical notation of use this for negation.

In 1913, Sheffer described non-disjunction and showed its functional completeness. Sheffer used for non-conjunction, and for non-disjunction.

In 1935, Webb described non-disjunction for n-valued logic, and use for the operator. So some people call it Webb operator,[7] Webb operation[8] or Webb function.[9]

In 1940, Quine also described non-disjunction and use for the operator.[10] So some people call the operator Peirce arrow or Quine dagger.

In 1944, Church also described non-disjunction and use for the operator.[11]

In 1954, Bocheński used X in Xpq for non-disjunction in Polish notation.[12]

APL uses a glyph that combines a with a ~.[13]

Properties

[edit | edit source]

NOR is commutative but not associative, which means that PQQP but (PQ)R↮P(QR).[14]

Functional completeness

[edit | edit source]

The logical NOR, taken by itself, is a functionally complete set of connectives.[15] This can be proved by first showing, with a truth table, that ¬A is truth-functionally equivalent to AA.[16] Then, since AB is truth-functionally equivalent to ¬(AB),[16] and AB is equivalent to ¬(¬A¬B),[16] the logical NOR suffices to define the set of connectives {,,¬},[16] which is shown to be truth-functionally complete by the Disjunctive Normal Form Theorem.[16]

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 NOR

[edit | edit source]

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 , the usual operators of propositional logic are:

¬P          PP
¬ File:Venn01.svg          File:Venn10.svg
   
PQ          ((PP)Q) ((PP)Q)
File:Venn1011.svg          File:Venn0100.svg File:Venn0100.svg
 
PQ          (PP) (QQ)
File:Venn0001.svg          File:Venn1010.svg File:Venn1100.svg
   
PQ          (PQ) (PQ)
File:Venn0111.svg          File:Venn1000.svg File:Venn1000.svg

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (xiii+1+123+7 pages) (NB. The back cover of this book erroneously states volume 4, whereas it actually is volume 101.)
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Nor, APL Wiki.
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ a b c d e Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]
  • Error creating thumbnail: File missing Media related to Lua error in Module:Commons_link at line 62: attempt to index field 'wikibase' (a nil value). at Wikimedia Commons