# Sheffer stroke

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 **nand** ("not and") or the **alternative denial**, since it says in effect that at least one of its operands is false. In digital electronics, it corresponds to the NAND gate. It is named after Henry M. Sheffer and written as ↑ or as | (but not as ||, often used to represent disjunction). In Bocheński notation it can be written as D*pq*.

NAND | |
---|---|

Definition | |

Truth table | |

Logic gate | |

Normal forms | |

Disjunctive | |

Conjunctive | |

Zhegalkin polynomial | |

Post's lattices | |

0-preserving | no |

1-preserving | no |

Monotone | no |

Affine | no |

Self-dual | no |

Its dual is the NOR operator (also known as the Peirce arrow or Quine dagger). 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.

## Contents

## DefinitionEdit

The **NAND operation** 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 tableEdit

The truth table of (also written as , or D*pq*) is as follows

T | T | F |

T | F | T |

F | T | T |

F | F | T |

### Logical equivalencesEdit

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

## HistoryEdit

The stroke is named after Henry M. Sheffer, who in 1913 published a paper in the *Transactions of the American Mathematical Society* (Sheffer 1913) 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.^{[1]} 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.

## PropertiesEdit

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- (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 StrokeEdit

## Formal system based on the Sheffer strokeEdit

The following is an example of a formal system based entirely on the Sheffer stroke, yet having the functional expressiveness of the propositional logic:

### SymbolsEdit

*p _{n}* for natural numbers

*n*

( | )

The Sheffer stroke commutes but does not associate (e.g., (T|T)|F = T, but T|(T|F) = F). Hence any formal system including the Sheffer stroke must also include a means of indicating grouping. We shall employ '(' and ')' to this effect.

We also write *p*, *q*, *r*, … instead of *p*_{0}, *p*_{1}, *p*_{2}.

### SyntaxEdit

**Construction Rule I:** For each natural number *n*, the symbol *p _{n}* is a well-formed formula (wff), called an atom.

**Construction Rule II:** If *X* and *Y* are wffs, then (*X*|*Y*) is a wff.

**Closure Rule:** Any formulae which cannot be constructed by means of the first two Construction Rules are not wffs.

The letters *U*, *V*, *W*, *X*, and *Y* are metavariables standing for wffs.

A decision procedure for determining whether a formula is well-formed goes as follows: "deconstruct" the formula by applying the Construction Rules backwards, thereby breaking the formula into smaller subformulae. Then repeat this recursive deconstruction process to each of the subformulae. Eventually the formula should be reduced to its atoms, but if some subformula cannot be so reduced, then the formula is not a wff.

### CalculusEdit

All wffs of the form

- ((
*U*|(*V*|*W*))|((*Y*|(*Y*|*Y*))|((*X*|*V*)|((*U*|*X*)|(*U*|*X*)))))

are axioms. Instances of

- (
*U*|(*V*|*W*)),*U**W*

are inference rules.

### SimplificationEdit

Since the only connective of this logic is |, the symbol | could be discarded altogether, leaving only the parentheses to group the letters. A pair of parentheses must always enclose a pair of *wff*s. Examples of theorems in this simplified notation are

- (
*p*(*p*(*q*(*q*((*pq*)(*pq*)))))),

- (
*p*(*p*((*qq*)(*pp*)))).

The notation can be simplified further, by letting

- (
*U*) := (*UU*) - ((
*U*))*U*

for any *U*. This simplification causes the need to change some rules:

- More than two letters are allowed within parentheses.
- Letters or wffs within parentheses are allowed to commute.
- Repeated letters or wffs within a same set of parentheses can be eliminated.

The result is a parenthetical version of the Peirce existential graphs.

Another way to simplify the notation is to eliminate parentheses by using Polish Notation. For example, the earlier examples with only parentheses could be rewritten using only strokes as follows

- (
*p*(*p*(*q*(*q*((*pq*)(*pq*)))))) becomes - |
*p*|*p*|*q*|*q*||*pq*|*pq*, and

- (
*p*(*p*((*qq*)(*pp*)))) becomes, - |
*p*|*p*||*qq*|*pp*.

This follows the same rules as the parenthesis version, with the opening parenthesis replaced with a Sheffer stroke and the (redundant) closing parenthesis removed.

Or one could omit both parentheses *and* strokes and allow the order of the arguments to determine the order of function application so that for example, applying the function from right to left (reverse Polish notation - any other unambiguous convention based on ordering would do)

*pqr*(*p*| (*q*|*r*) ), whereas*rqp*(*r*| (*q*|*p*) ).

## See alsoEdit

## NotesEdit

**^**Church (1956:134)

## ReferencesEdit

- Bocheński, Józef Maria (1960),
*Precis of Mathematical Logic*, rev., Albert Menne, edited and translated from the French and German editions by Otto Bird, Dordrecht, South Holland: D. Reidel. - Church, Alonzo, (1956)
*Introduction to mathematical logic*, Vol. 1, Princeton: Princeton University Press. - Nicod, Jean G. P. (1917). "A Reduction in the Number of Primitive Propositions of Logic".
*Proceedings of the Cambridge Philosophical Society*.**19**: 32–41. - Charles Sanders Peirce, 1880, "A Boolian[sic] Algebra with One Constant", in Hartshorne, C. and Weiss, P., eds., (1931–35)
*Collected Papers of Charles Sanders Peirce, Vol. 4*: 12–20, Cambridge: Harvard University Press. - Sheffer, H. M. (1913), "A set of five independent postulates for Boolean algebras, with application to logical constants",
*Transactions of the American Mathematical Society*,**14**: 481–488, doi:10.2307/1988701, JSTOR 1988701