Talk:Logical NAND

From Wikinfo

Jump to: navigation, search

Notes & Queries

JA: Raw text copy of the improvements that I made on the Textop Wiki before Larry Sanger blocked my use of it. Jon Awbrey 11:48, 29 Nov 2006 (EST)

Logical NAND, for Not And, sometimes denoted by a symbol "|" or "↑" called the Sheffer stroke, is a logical operation that is equivalent to the negation of the conjunction operation, expressed in ordinary language as "not both". It is also called the alternative denial, since it says in effect that at least one of its operands is false. In boolean algebra and digital electronics it is known as the NAND ("not and") operation. It is one of several sole sufficient operators that can be used to express all of the boolean functions that are the subject matter of propositional logic. Along with NNOR, it is one of the two functionally complete binary operators of propositional logic.

The name Sheffer stroke refers to Henry M. Sheffer, who proved that all of the usual operators of propositional logic (not, and, or, implies, and so on), could be expressed in terms of it (Sheffer 1913). Charles Sanders Peirce (1880) had discovered this fact more than 30 years earlier, but never published his finding. Peirce also observed that all boolean operators could be defined in terms of the NNOR operator, the dual of NAND.

Contents
     1 Definition 
     2 Sheffer stroke 
     3 Formal system based on the Sheffer stroke 
          3.1 1. Symbols 
          3.2 2. Grammar 
          3.3 3. Axiom 
          3.4 4. Inference rules 
          3.5 Simplification 
     4 References 
     5 See also 
          5.1 Logical operators 
          5.2 Related topics 
     6 External links 


Definition

The NAND operation is a logical operation on two logical values, typically the values of two propositions, that produces a value of false if and only if both of its operands are true. In other words, it produces a value of true if and only if at least one of its operands is false.

The truth table of p NAND q (also written as p | q or p ↑ q) is as follows:

                                        Logical NAND
                                        p 
                                            q 
                                                p ↑ q 
                                        F 
                                            F 
                                                T 
                                        F 
                                            T 
                                                T 
                                        T 
                                            F 
                                                T 
                                        T 
                                            T 
                                                F 


One way of expressing p NAND q is a <math>\overline{p \cdot q}</math>, where the symbol <math>\cdot</math> signifies AND and the line over the expression signifies not, the logical negation of that expression.

NAND is not used in everyday sentences because it exhibits an inherent inversion, which makes it confusing like a double negative. Here's an example of a sentence using the NAND operator:

    We will surely die if we have food nand water. 

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

"not p" is equivalent to "p NAND p"
                                    <math>\overline{p} \equiv \overline{p \cdot p}</math>
"p and q" is equivalent to "(p NAND q)
NAND (p NAND q)"
                                    <math>p \cdot q \equiv \overline{\overline{(p \cdot q)} \cdot \overline{(p
                                    \cdot q)}}</math>
"p or q" is equivalent to "(p NAND p) NAND
(q NAND q)"
                                    <math>p + q \equiv \overline{\overline{(p \cdot p)} \cdot \overline{(q \cdot
                                    q)}}</math>
"p implies q" is equivalent to "(p NAND q)
NAND p"
                                    <math>p \rightarrow q \equiv \overline{\overline{(p \cdot q)} \cdot
                                    p}</math>


This leads to an alternative axiom system for Boolean algebras, requiring but one operation.

Image:NandFullAdder.png NAND Full Adder

Digital systems employing certain logic circuits take advantage of this property. In complicated logical expressions, normally written in terms of other logic functions such as AND, OR, and NOT, writing these in terms of NAND saves on cost, because implementing such circuits using NAND gate yields a more compact result than the alternatives.

The dual of NAND, the operator NNOR, also suffices to express all Boolean operations.

Sheffer stroke

The Sheffer stroke "|" is equivalent to the negation of conjunction:

    <math> A | B = \neg (A \wedge B). </math> 

The following truth table semantically defines |:

</math> 
        F 
           T 
   F 
        T 
           T 
   T 
        T 
           F 


The other logical operators can be defined in terms of '|', like so:

    <math> \neg A = A | A, </math> 
    <math> A \wedge B = (A | B) | (A | B), </math> 
    <math> A \vee B = (A | A) | (B | B), </math> 
    <math> A \rightarrow B = A | (B | B) = A | (A | B). </math> 

Formal system based on the Sheffer stroke

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

1. Symbols

A B C D E F G ' ( | )

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

2. Grammar

The letters A, B, C, D, E, F and G are atoms. Any of these letters primed once or several times is also an atom (e.g. A', B′′, C′′′, D′′′′ are atoms).

Construction Rule I: An atom is a well-formed formula (wff).

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 is not a wff.

The letters U, V, 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.

3. Axiom

The following wffs are axiom schemata, which become axioms upon replacing all metavariables with wffs.

THEN-1: (U|(U|(V|(U|U))))

4. Inference rules

Substitution of equivalents. Let the wff X contain one more instances of the subformula U. If U=V, then replacing one ore more instances of U in X by V does not alter the truth value of X. In particular, if X=Y is a theorem, this remains the case after any substitution of V for U.

Commutativity: (X|Y) = (Y|X)

Duality: If strings of the forms X and (X|X) both show up in a theorem, then if these two strings are swapped wherever they appear in the theorem, then the result will also be a theorem.

Double Negation: ((X|X)|(X|X)) = X

Mimesis: (U|(X|X)) = (U|(U|X))

THEN-3: (U|(U|(V|(V|X)))) = (V|(V|(U|(U|X))))

MP-1: U, (U|(V|X)) |- V

MP-2: U, (U|(V|X)) |- X

Note. The formula (U|(V|X)) has the interpretation U→V∧X. Modus ponens is the special case of MP-1 and MP-2 when V and X are identical.

Simplification

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 wffs. Examples of theorems in this simplified notation are

    (A(A(B(B((AB)(AB)))))), 
    (A(A((BB)(AA)))). 

The resemblance to the syntax of LISP is evident.

The notation can be simplified further, by letting

    (U) := (UU) 
    ((U)) <math>\equiv</math> U 

for any U. This simplification causes the need to change some rules: (1) more than two letters are allowed within parentheses, (2) letters or wffs within parentheses are allowed to commute, (3) repeated letters or wffs within a same set of parentheses can be eliminated. The result is a parenthetical version of the Peirce existential graphs.

References

    Charles Peirce, 1880. 'A Boolean Algebra with One Constant'. In Hartshorne, C, and Weiss, P., eds., (1931-35)
    Collected Papers of Charles Sanders Peirce, Vol. 4: 12-20. Harvard University Press. 
    H. M. Sheffer, 1913. "A set of five independent postulates for Boolean algebras, with application to logical constants,"
    Transactions of the American Mathematical Society 14: 481-488. 

See also

Logical operators

Template:Col-begin Template:Col-break

    Exclusive disjunction 
    Logical conjunction 
    Logical disjunction 
    Logical equality 

Template:Col-break

    Logical implication 
    Logical NAND 
    Logical NNOR 
    Negation 

Template:Col-end

Related topics

Template:Col-begin Template:Col-break

    Ampheck 
    Boolean algebra 
    Boolean domain 
    Boolean function 

Template:Col-break

    Boolean logic 
    Laws of Form 
    Logic gate 
    Logical graph 

Template:Col-break

    Peirce's law 
    Propositional calculus 
    Sole sufficient operator 
    Zeroth order logic 

Template:Col-end

External links

    Portions of the above article are adapted from an earlier version of the Wikinfo article, "Sheffer stroke", used under the
    GNU Free Documentation License. 
    Portions of the above article are adapted from an earlier version of the Wikipedia article, "Sheffer stroke", used under
    the GNU Free Documentation License. 

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section titled GNU FDL text.

Retrieved from "http://www.textop.org/wiki/index.php?title=Logical_NAND"