NAND elimination: NAND(A, B) = NOT (A AND B)
NAND elimination rewrites NAND(A, B) as NOT (A AND B): a NAND is an AND followed by a NOT.
NAND is rewritten as the negation of an AND.
The name says it: not-and. The gate is false only when both inputs are true. The law is the definition, and it is listed because the normal-form converter needs a named step to move from the gate to AND and NOT, after which De Morgan gives NOT A OR NOT B. The simplifier keeps the gate and folds only its constant, equal and complementary operands: NAND(A, FALSE) is TRUE and NAND(A, A) is NOT A.
NAND matters out of proportion to its definition because it is universal: the three construction laws on this site build NOT, AND and OR from NAND alone, and the NAND-only converter applies them to any expression. That is why real logic families are built around NAND, and why a page about NAND belongs next to a page about De Morgan.
The four-row proof is below, and the operator page shows the two-, three- and four-input tables.
Statement
NAND(A, B) = NOT (A AND B) Proof by truth table: NAND(A, B) = NOT (A AND B)
| # | A | B | lhs | rhs |
|---|---|---|---|---|
| 0 | FALSE | FALSE | TRUE | TRUE |
| 1 | FALSE | TRUE | TRUE | TRUE |
| 2 | TRUE | FALSE | TRUE | TRUE |
| 3 | TRUE | TRUE | FALSE | FALSE |
The same law in four notations
NAND(A, B)NAND(A, B)NAND(A, B)NAND(A, B)\overline{A \cdot B}NOT (A AND B)!(A && B)¬(A ∧ B)(A·B)'\overline{A \cdot B}The common slip
Writing NAND in infix form, A NAND B. The parser rejects it with a repair to NAND(A, B): the language keeps NAND, NOR and XNOR in function form with exactly two operands, which avoids asking how an infix chain would group, since NAND is not associative.
Questions
Is NAND the same as NOT A AND NOT B?
No. NOT A AND NOT B is NOR, the negation of OR. NAND is NOT A OR NOT B once De Morgan is applied. The two differ on the rows where exactly one input is true.
Related
Lesson that teaches this
Tools
- Boolean algebra calculator and simplifier with steps (every law named and verified)
- Logical equivalence checker: two expressions, exact verdict, counterexample
See also
- NAND gate: truth table for 2, 3 and 4 inputs, universal gate
- NOT from NAND: NOT A = NAND(A, A)
- AND from NAND gates: A AND B = NAND(NAND(A, B), NAND(A, B))
- OR from NAND gates: A OR B = NAND(NAND(A, A), NAND(B, B))
- NAND vs NOR as the universal gate
Laws
Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.