Jump to content

Sheffer stroke

From Wikipedia, the free encyclopedia
(Redirected from Logical NAND)

Sheffer stroke
Venn diagram of Sheffer stroke
Truth table
Logic gate
Normal forms
Zhegalkin polynomial
Post's lattices

In Boolean functions and propositional calculus, the Sheffer stroke denotes a logical operation that is equivalent to the negation of the conjunction operation, expressed in ordinary language as "not both". It is also called non-conjunction, or alternative denial[1] (since it says in effect that at least one of its operands is false), or NAND ("not and").[1] In digital electronics, it corresponds to the NAND gate. It is named after Henry Maurice Sheffer and written as or as or as or as in Polish notation by Łukasiewicz (but not as ||, often used to represent disjunction).

Its dual is the NOR operator (also known as the Peirce arrow, Quine dagger or Webb operator). Like its dual, NAND can be used by itself, without any other logical operator, to constitute a logical formal system (making NAND functionally complete). This property makes the NAND gate crucial to modern digital electronics, including its use in computer processor design.


The non-conjunction is a logical operation on two logical values. It produces a value of true, if — and only if — at least one of the propositions is false.

Truth table[edit]

The truth table of is as follows.


Logical equivalences[edit]

The Sheffer stroke of and is the negation of their conjunction


By De Morgan's laws, this is also equivalent to the disjunction of the negations of and


Alternative notations and names[edit]

Peirce was the first to show the functional completeness of non-conjunction (representing this as ) but didn't publish his result.[2][3] Peirce's editor added ) for non-disjunction[citation needed].[3]

In 1911, Stamm was the first to publish a proof of the completeness of non-conjunction, representing this with (the Stamm hook)[4] and non-disjunction in print at the first time and showed their functional completeness.[5]

In 1913, Sheffer described non-disjunction using and showed its functional completeness. Sheffer also used for non-disjunction.[citation needed] Many people, beginning with Nicod in 1917, and followed by Whitehead, Russell and many others, mistakenly thought Sheffer has described non-conjunction using , naming this the Sheffer Stroke.

In 1928, Hilbert and Ackermann described non-conjunction with the operator .[6][7]

In 1929, Łukasiewicz used in for non-conjunction in his Polish notation.[8]

An alternative notation for non-conjunction is . It is not clear who first introduced this notation, although the corresponding for non-disjunction was used by Quine in 1940,.[9]


The stroke is named after Henry Maurice Sheffer, who in 1913 published a paper in the Transactions of the American Mathematical Society[10] providing an axiomatization of Boolean algebras using the stroke, and proved its equivalence to a standard formulation thereof by Huntington employing the familiar operators of propositional logic (AND, OR, NOT). Because of self-duality of Boolean algebras, Sheffer's axioms are equally valid for either of the NAND or NOR operations in place of the stroke. Sheffer interpreted the stroke as a sign for nondisjunction (NOR) in his paper, mentioning non-conjunction only in a footnote and without a special sign for it. It was Jean Nicod who first used the stroke as a sign for non-conjunction (NAND) in a paper of 1917 and which has since become current practice.[11][12] Russell and Whitehead used the Sheffer stroke in the 1927 second edition of Principia Mathematica and suggested it as a replacement for the "OR" and "NOT" operations of the first edition.

Charles Sanders Peirce (1880) had discovered the functional completeness of NAND or NOR more than 30 years earlier, using the term ampheck (for 'cutting both ways'), but he never published his finding. Two years before Sheffer, Edward Stamm [pl] also described the NAND and NOR operators and showed that the other Boolean operations could be expressed by it.[5]


NAND does not possess any of the following five properties, each of which is required to be absent from, and the absence of all of which is sufficient for, at least one member of a set of functionally complete operators: truth-preservation, falsity-preservation, linearity, monotonicity, self-duality. (An operator is truth- (or falsity-)preserving if its value is truth (falsity) whenever all of its arguments are truth (falsity).) Therefore {NAND} is a functionally complete set.

This can also be realized as follows: All three elements of the functionally complete set {AND, OR, NOT} can be constructed using only NAND. Thus the set {NAND} must be functionally complete as well.

Other Boolean operations in terms of the Sheffer stroke[edit]

Expressed in terms of NAND , the usual operators of propositional logic are:


Functional completeness[edit]

The Sheffer stroke, taken by itself, is a functionally complete set of connectives.[13][14] This can be proved by first showing, with a truth table, that is truth-functionally equivalent to .[15] Then, since is truth-functionally equivalent to ,[15] and is equivalent to ,[15] the Sheffer stroke suffices to define the set of connectives ,[15] which is shown to be truth-functionally complete by the Disjunctive Normal Form Theorem.[15]

See also[edit]


  1. ^ a b Howson, Colin (1997). Logic with trees: an introduction to symbolic logic. London; New York: Routledge. p. 43. ISBN 978-0-415-13342-5.
  2. ^ Peirce, C. S. (1933) [1880]. "A Boolian Algebra with One Constant". In Hartshorne, C.; Weiss, P. (eds.). Collected Papers of Charles Sanders Peirce, Volume IV The Simplest Mathematics. Massachusetts: Harvard University Press. pp. 13–18.
  3. ^ a b Peirce, C. S. (1933) [1902]. "The Simplest Mathematics". In Hartshorne, C.; Weiss, P. (eds.). Collected Papers of Charles Sanders Peirce, Volume IV The Simplest Mathematics. Massachusetts: Harvard University Press. pp. 189–262.
  4. ^ Zach, R. (2023-02-18). "Sheffer stroke before Sheffer: Edward Stamm". Retrieved 2023-07-02.
  5. ^ a b Stamm, Edward Bronisław [in Polish] (1911). "Beitrag zur Algebra der Logik". Monatshefte für Mathematik und Physik (in German). 22 (1): 137–149. doi:10.1007/BF01742795. S2CID 119816758.
  6. ^ Hilbert, D.; Ackermann, W. (1928). Grundzügen der theoretischen Logik (in German) (1 ed.). Berlin: Verlag von Julius Springer. p. 9.
  7. ^ Hilbert, D.; Ackermann, W. (1950). Luce, R. E. (ed.). Principles of Mathematical Logic. Translated by Hammond, L. M.; Leckie, G. G.; Steinhardt, F. New York: Chelsea Publishing Company. p. 11.
  8. ^ Łukasiewicz, J. (1958) [1929]. Elementy logiki matematycznej (in Polish) (2 ed.). Warszawa: Państwowe Wydawnictwo Naukowe.
  9. ^ Quine, W. V (1981) [1940]. Mathematical Logic (Revised ed.). Cambridge, London, New York, New Rochelle, Melbourne and Sydney: Harvard University Press. p. 45.
  10. ^ Sheffer, Henry Maurice (1913). "A set of five independent postulates for Boolean algebras, with application to logical constants". Transactions of the American Mathematical Society. 14 (4): 481–488. doi:10.2307/1988701. JSTOR 1988701.
  11. ^ Nicod, Jean George Pierre (1917). "A Reduction in the Number of Primitive Propositions of Logic". Proceedings of the Cambridge Philosophical Society. 19: 32–41.
  12. ^ Church, Alonzo (1956). Introduction to mathematical logic. Vol. 1. Princeton University Press. p. 134.
  13. ^ Weisstein, Eric W. "Propositional Calculus". mathworld.wolfram.com. Retrieved 2024-03-22.
  14. ^ Franks, Curtis (2023), "Propositional Logic", in Zalta, Edward N.; Nodelman, Uri (eds.), The Stanford Encyclopedia of Philosophy (Fall 2023 ed.), Metaphysics Research Lab, Stanford University, retrieved 2024-03-22
  15. ^ a b c d e Howson, Colin (1997). Logic with trees: an introduction to symbolic logic. London; New York: Routledge. pp. 41–43. ISBN 978-0-415-13342-5.

Further reading[edit]

External links[edit]