Logic Lab
Boolean Algebra
Huntington postulates and theorems, each verified by truth table, plus duality, operator precedence, complement and De Morgan as gates.
Dual and complement
✓ F′ is the opposite of F on every row.
✓ Fᵈ(A, B, …) equals [F(A′, B′, …)]′, the defining property of the dual.
The dual only swaps the operators and the constants; the variables stay as they are. The complement also inverts every variable. A true statement stays true when you take its dual, which is why each law below comes as a pair.
Operator precedence
Anything inside brackets is worked out first.
Applies to the single variable or bracket just before it.
Binds tighter than OR, like × before + in arithmetic.
This tool puts XOR between AND and OR. Many books group it with OR, so use brackets to be safe.
Evaluated last.
- C′
- B·C′
- A + B·C′
Precedence decides which operator acts first when there are no brackets. The bracketed form and the evaluation order are produced by the same parser the other tabs use, so what you see is what they compute.
Axiomatic definition: Huntington postulates
A Boolean algebra is a set B with two operators, + and ·, that obey the postulates below. Switching algebra is the case B = {0, 1}. Each postulate is checked by trying every value of 0 and 1.
✓a + b and a·b are always in B
✓a + 0 = a and a·1 = a
✓a + b = b + a and a·b = b·a
✓a·(b + c) = a·b + a·c and a + b·c = (a + b)·(a + c)
✓every a has a′ with a + a′ = 1 and a·a′ = 0
✓B has at least two different elements, 0 ≠ 1
Postulates and theorems
✓A + 0 = A
✓A·1 = Adual
✓A + 1 = 1
✓A·0 = 0dual
✓A + A = A
✓A·A = Adual
✓A + A′ = 1
✓A·A′ = 0dual
✓(A′)′ = A
Self-dual: no separate dual form.✓A + B = B + A
✓A·B = B·Adual
✓(A + B) + C = A + (B + C)
✓(A·B)·C = A·(B·C)dual
✓A·(B + C) = A·B + A·C
✓A + B·C = (A + B)·(A + C)dual
✓A + A·B = A
✓A·(A + B) = Adual
✓A + A′·B = A + B
✓A·(A′ + B) = A·Bdual
✓(A + B)′ = A′·B′
✓(A·B)′ = A′ + B′dual
✓A·B + A′·C + B·C = A·B + A′·C
✓(A + B)(A′ + C)(B + C) = (A + B)(A′ + C)dual
De Morgan’s theorem as gates
NAND gives the same output as an OR gate with inverted inputs, and NOR gives the same output as an AND gate with inverted inputs. Try all four input pairs: each equal pair of outputs always matches.
Every tick is a check, not a claim: both sides are evaluated for every input combination by the same engine as the Expressions tab. Converting a standard form to canonical form (and SOP to POS) is on the Expressions tab, under Canonical SOP and Canonical POS.