4.9 Boolean Simplification: Reducing an Expression Without Changing Its Function

Apply Boolean laws to reduce a Boolean expression to an equivalent, simpler form, and correctly simplify expressions involving the absorption/consensus identity rather than over-simplifying them.

Boolean simplification is the process of applying the laws from Module 4.2, De Morgan's laws (4.3), and structural identities like absorption and consensus, to rewrite a Boolean expression into an equivalent form that uses fewer terms, fewer variables per term, or both — without changing the function it computes for any input. This is the direct payoff of everything else in this module: every law, every canonical-form expansion, and every SOP/POS structural fact exists in service of eventually being able to take a correct-but-verbose expression and reduce it to something that costs fewer real gates, less silicon area, and less power to actually build, which is exactly why Boolean simplification (alongside its graphical counterpart, K-maps, in Module 5) is one of the most practically important skills in this entire course.

Core Concept: Equivalence-Preserving Rewriting

Every simplification step must preserve logical equivalence exactly: the simplified expression must produce the identical output, for every possible input combination, as the original expression — simplification is never allowed to change what a function computes, only how compactly it is written. This is why every simplification step must be justified by a specific, provable Boolean law (from Module 4.2's list, De Morgan's laws, or the distributive law) rather than by intuition or pattern-guessing; an 'obvious-looking' shortcut that isn't backed by an actual identity risks silently changing the function.

The spec's worked example demonstrates this cleanly: F = AB + AB'. Factoring out the common variable A using the distributive law gives F = A(B + B'). The complement law from Module 4.2 (A + A' = 1, here applied with B in place of A) reduces the parenthesized term to exactly 1: F = A(1). The identity law (A · 1 = A) then reduces this to F = A — the original two-term, four-variable-occurrence expression has been proven, step by justified step, to be exactly equal to the single variable A.

• Every simplification step must preserve the function exactly — same output for every input, before and after. • Each step must be justified by a specific Boolean law, not by intuition alone. • Spec's worked example: F = AB + AB' = A(B+B') = A(1) = A. • Simplification typically combines the distributive law with the complement and identity laws from Module 4.2.

Step-by-Step: The Absorption/Consensus Trap, Worked Correctly

The spec's tricky problem is a deliberately placed trap: it presents A + A'B and states directly that 'a common mistake is treating [this] as A' — it simplifies to A + B instead, 'using the absorption/consensus identities.' Working this correctly: start from A + A'B, and apply the identity law in reverse to expand A into A·1 conceptually, or more directly, use the distributive law to rewrite A + A'B as (A + A')(A + B) — this step relies on Boolean OR distributing over AND in a way that mirrors, but is distinct from, the more familiar AND-distributes-over-OR direction.

Once rewritten as (A + A')(A + B), the complement law immediately collapses the first factor: A + A' = 1, leaving (1)(A + B). The identity law then reduces this to exactly A + B — confirming the spec's stated correct result. The trap the spec is warning against is stopping too early, at A + A'B, and reflexively assuming the A'B term is somehow 'absorbed' or made irrelevant by the standalone A term, the way a term is genuinely absorbed in the true absorption law (A + AB = A) — but A + A'B is a structurally different expression from A + AB, and applying the wrong mental shortcut to it produces a wrong, non-equivalent answer, A, instead of the correct answer, A + B.

• Step 1: Start from A + A'B (the spec's tricky problem). • Step 2: Distribute to rewrite as (A + A')(A + B). • Step 3: Apply the complement law: A + A' = 1, leaving (1)(A + B). • Step 4: Apply the identity law: 1 · (A+B) = A + B — the correct final simplification, per the spec.

Practical and Real-World Application: Fewer Gates, Lower Cost

Every simplification directly translates into a smaller real circuit: F = AB + AB' (the spec's first example) as originally written needs two AND gates and one OR gate; after simplification to F = A, it needs zero gates at all — F is simply wired directly to A. This is not a toy example; real digital designs routinely start from an unminimized (often canonical-form) expression and apply exactly this kind of algebraic reduction, alongside K-map minimization (Module 5), to remove redundant gates before a circuit is ever fabricated, directly saving silicon area, power, and propagation delay in the finished chip.

Automated logic-synthesis tools used in real chip design perform this same kind of simplification at a vastly larger scale and with far more sophisticated algorithms than can be done by hand, but the underlying justification is always the same handful of Boolean laws covered in this module — an engineer who understands why A + A'B correctly simplifies to A + B (and not to the tempting-but-wrong A) is equipped to sanity-check, debug, and reason about what an automated synthesis tool's output is actually doing, rather than treating it as an unreadable black box.

Common Mistake and the Tricky Concept

The spec's own tricky problem is exactly this lesson's central common mistake, and it is worth restating precisely: A + A'B is not equal to A — it equals A + B. The visual similarity to the true absorption law, A + AB = A (where the second term genuinely is redundant once A is already present, since if A is 1 the whole expression is 1 regardless of B, and if A is 0 the AB term is also automatically 0), makes A + A'B deceptively easy to misread as another instance of the same pattern, when the presence of the complement (A', not A) in the second term makes it a fundamentally different case: the second term is not redundant, it captures the case where A is 0 but B is 1, which the standalone A term does not cover at all.

The reliable defense against this class of mistake is exactly the discipline modeled in this lesson's worked derivation: never skip from an expression to its claimed simplification without writing out the specific law that justifies each individual step. If you cannot name the law (distributive, complement, identity, idempotent, null, involution, or De Morgan's) that licenses a given rewrite, that rewrite has not actually been proven, no matter how plausible it looks.

Simplification Toolkit (Laws Used Together)

Every simplification step must be traceable to exactly one of these named laws. A + A'B = A + B is proven via the OR-distributes-over-AND form: A + BC = (A+B)(A+C).

Available laws (Module 4.2 + 4.3):
  A + 0 = A        A · 1 = A          (identity)
  A + 1 = 1        A · 0 = 0          (null)
  A + A = A        A · A = A          (idempotent)
  A + A' = 1       A · A' = 0         (complement)
  (A')' = A                           (involution)
  (A+B)' = A'B'    (AB)' = A'+B'      (De Morgan's)
  Distributive:    A(B+C) = AB+AC     A+(BC) = (A+B)(A+C)

Spec's tricky identity:
  A + A'B  =  A + B     (NOT simply A — see worked derivation)

Code Examples

This is the spec's own primary simplification example, worked in three justified steps. Factoring A out of both terms via the distributive law isolates (B+B'), which the complement law immediately resolves to the constant 1, and the identity law then removes that now-redundant multiplication by 1 — leaving the single variable A, proven exactly equivalent to the original two-term expression. Expected result: F = A F = AB + AB' = A(B+B') = A

This is the spec's tricky problem worked correctly and contrasted directly against the common wrong answer. The key step is the OR-distributes-over-AND form of the distributive law, which is less immediately intuitive than the more familiar AND-distributes-over-OR direction but is equally valid; skipping straight to 'A absorbs the A'B term' without this derivation is exactly the mistake the spec flags, since A + A'B and the true absorption case A + AB are structurally different expressions with different simplified results. Expected result: A + A'B = A + B

A + A'B = A + B (never simplify this to just A) Common mistake: Assuming A + A'B simplifies to A by loose analogy with the true absorption law A + AB = A.

F = AB + AB'
  = A(B + B')      [distributive law: factor out A]
  = A(1)           [complement law: B + B' = 1]
  = A              [identity law: A·1 = A]
A + A'B
  = (A + A')(A + B)   [distributive law, OR over AND: X+(YZ) = (X+Y)(X+Z), here X=A,Y=A',Z=B]
  = (1)(A + B)        [complement law: A + A' = 1]
  = A + B             [identity law: 1·(A+B) = A+B]

INCORRECT shortcut (do not do this):
  A + A'B  ≠  A        (this is the common mistake the spec warns against)

Important Rules

Every simplification step must be justified by a named Boolean law — never by pattern-guessing.

F = AB + AB' = A(B+B') = A(1) = A — the spec's canonical worked simplification.

A + A'B = A + B (via OR-distributes-over-AND, then the complement and identity laws) — never simplify this to just A.

True absorption, A + AB = A, is a genuinely different case from A + A'B — the complement on the second term changes the result.

Fewer Gates, Directly Lower Cost and Power

Boolean simplification is the algebraic half of every real circuit-minimization workflow (alongside K-maps, Module 5): reducing F = AB + AB' to F = A eliminates every gate that expression would have required, and automated logic-synthesis tools apply the same underlying laws at massive scale to minimize gate count, silicon area, power consumption, and propagation delay before a chip is fabricated.

Simplifying A + A'B to A, by loosely pattern-matching it against the true absorption law A + AB = A.

Correctly simplify A + A'B to A + B, by distributing as (A+A')(A+B), applying the complement law (A+A'=1), and then the identity law (1·(A+B)=A+B).

The spec states this exact mistake directly: 'A common mistake is treating [A + A'B] as A. It simplifies to A + B... using the absorption/consensus identities.' The complemented second term (A'B, not AB) makes this a genuinely different case from true absorption, and skipping the justified derivation produces a wrong, non-equivalent result.

[tricky-problem] According to the spec, what is the correct simplification of A + A'B, and what is the common mistake to avoid? A. Correct: A. Mistake: simplifying it to A + B instead. B. Correct: A + B. Mistake: incorrectly simplifying it to just A by loose analogy with true absorption. C. Correct: B. Mistake: simplifying it to A + B. D. Correct: A·B. Mistake: simplifying it to A + B.

B. Correct: A + B. Mistake: incorrectly simplifying it to just A by loose analogy with true absorption. — The spec states this directly: 'A common mistake is treating [A + A'B] as A. It simplifies to A + B... using the absorption/consensus identities.' The correct simplification, derived via distribution and the complement/identity laws, is A + B — not A.

[interview] Which three Boolean laws, applied in sequence, justify simplifying F = AB + AB' down to F = A? A. De Morgan's law, then the null law, then the involution law B. The distributive law (factor out A), then the complement law (B+B'=1), then the identity law (A·1=A) C. The idempotent law only, applied twice D. The absorption law directly, with no other laws needed

B. The distributive law (factor out A), then the complement law (B+B'=1), then the identity law (A·1=A) — The spec's worked derivation is exactly this three-step chain: F = AB+AB' = A(B+B') [distributive law] = A(1) [complement law, B+B'=1] = A [identity law, A·1=A]. Each step is individually justified by a specific, named law, which is the discipline this lesson emphasizes to avoid mistakes like the A+A'B trap.

Simplify F = A'B' + A'B + AB using Boolean laws, showing each step's justification. Do not skip to the answer.

F = A'(B'+B) + AB = A'(1) + AB [complement law] = A' + AB [identity law] = (A'+A)(A'+B) [distributive, OR over AND] = (1)(A'+B) [complement law] = A' + B [identity law].

Group the first two terms and factor first; then look for a way to combine the result with the third term using the same distributive/complement/identity pattern used in this lesson's main example.