# Boolean identities and duality

*The laws that simplify an expression by hand*

Boolean identities are the fixed laws (identity, null, idempotent, complement, and absorption) that hold for any inputs, and the duality principle says swapping every AND with OR and every 0 with 1 in a true identity yields another true identity, so together they let you simplify a logic expression by hand.

Group: Number & logic
URL: https://digiwleea.wleeaf.dev/learn/boolean-identities/

> **KEY:** [Boolean algebra](https://digiwleea.wleeaf.dev/learn/boolean-algebra/) introduced the operations and De Morgan's laws. This page collects the everyday **identities** you reach for when simplifying, and the **duality** shortcut that doubles every one of them, so you can carve an expression down before automating the hunt with a [Karnaugh map](https://digiwleea.wleeaf.dev/learn/karnaugh/).

## The laws, grouped

Read `·` as AND and `+` as OR. Each law looks obvious on its own; the power is in chaining them. They come in pairs, one for AND and one for OR:

- **Identity:** `A·1 = A` and `A+0 = A`. Combining with the neutral value changes nothing.
- **Null (annihilator):** `A·0 = 0` and `A+1 = 1`. The dominant value swallows everything.
- **Idempotent:** `A·A = A` and `A+A = A`. Repeating a term is redundant.
- **Complement:** `A·A' = 0` and `A+A' = 1`. A thing and its opposite are never both true, and always cover all cases.
- **Involution:** `NOT (NOT A) = A`. Two NOTs cancel (this is why [AND](https://digiwleea.wleeaf.dev/learn/and/) is a NAND then a NOT).
- **Absorption:** `A + A·B = A` and `A·(A + B) = A`. A term absorbs any product or sum that already contains it.

## The duality principle

Notice the pairs. That is no accident: it is the **duality principle**. Take any true Boolean identity, swap every `·` with `+` and every `0` with `1`, leave the variables and their NOTs alone, and the result is also true. One proof buys two laws.

- `A·1 = A` has the dual `A+0 = A`.
- `A·0 = 0` has the dual `A+1 = 1`.
- `A + A·B = A` (absorption) has the dual `A·(A + B) = A`.

> **WARN:** **Duality is not De Morgan.** Duality only swaps `·` with `+` and `0` with `1`; it never complements a variable, and its result is a *different* identity, not an equal expression. [De Morgan](https://digiwleea.wleeaf.dev/learn/demorgans/) also complements every variable and gives a real equality you can substitute. Use duality to remember twice as many laws; use De Morgan to push a NOT through a gate.

## Worked example: absorption in action

Simplify `A + A·B`. The absorption law does it in one step, but it is worth seeing *why*. Factor `A` out: `A + A·B = A·(1 + B)`. By the null law `1 + B = 1`, so `A·(1 + B) = A·1 = A`. The `A·B` term added nothing: whenever `A·B` is true, `A` is already true, so the OR was never going to change.

```
A + A·B = A·(1 + B) = A·1 = A
```

That collapse of a two-gate expression to a single wire is a full [half adder](https://digiwleea.wleeaf.dev/learn/halfadder/)'s worth of savings when it happens inside a real design. Chaining identities like this is exactly the simplification a [Karnaugh map](https://digiwleea.wleeaf.dev/learn/karnaugh/) automates.

**Q (Try it):** Simplify `A·B + A·B'` using the complement and identity laws. What single term remains?

**A:** Factor `A`: `A·B + A·B' = A·(B + B')`. By the complement law `B + B' = 1`, so `A·(B + B') = A·1 = A`. The whole expression is just `A`: the value of `B` never mattered, because one of the two products is true for each value of `B`.

### FAQ

**Q:** What are the basic Boolean algebra identities?

**A:** Identity (`A·1 = A`, `A+0 = A`), null (`A·0 = 0`, `A+1 = 1`), idempotent (`A·A = A`, `A+A = A`), complement (`A·A' = 0`, `A+A' = 1`), involution (`NOT (NOT A) = A`), and absorption (`A + A·B = A`, `A·(A + B) = A`). They hold for any inputs and are the tools for simplifying by hand.

**Q:** What is the duality principle in Boolean algebra?

**A:** It says that if you take any true Boolean identity and swap every AND (`·`) with OR (`+`) and every `0` with `1`, leaving the variables alone, the result is also true. That is why the laws come in AND/OR pairs: `A·1 = A` has the dual `A+0 = A`.

**Q:** What is the absorption law?

**A:** `A + A·B = A` (and its dual `A·(A + B) = A`). A term absorbs any product that already contains it, because whenever `A·B` is true `A` is already true, so the extra term cannot change the result. It is one of the most useful simplification levers.

> **KEY:** These laws are the hand tools; a [Karnaugh map](https://digiwleea.wleeaf.dev/learn/karnaugh/) and [Quine-McCluskey](https://digiwleea.wleeaf.dev/learn/quine-mccluskey/) automate the same search for the minimal form, and one specific pattern they lean on, keeping a redundant term to kill a glitch, is the [consensus theorem](https://digiwleea.wleeaf.dev/learn/consensus-theorem/).
