Digital Electronics

Absorption Law Boolean Algebra

By CourseTron Team ·  7 min read ·  Updated Oct 2026 💬 𝕏 in f
Table of Contents
    ? Print / Save as PDF

    In short: The absorption law says A + AB = A (and its dual A(A + B) = A), meaning any term that already contains a smaller term is redundant and its gates can be deleted without changing the function.

    What the absorption law actually says

    Absorption comes in two dual forms. The first is A + AB = A. The second, obtained by swapping AND with OR, is A · (A + B) = A. In words: if a larger product term AB is ORed with a smaller term A that appears inside it, the larger term is "absorbed" and contributes nothing. Whenever A is 1 the output is already 1; whenever A is 0, AB is forced to 0 as well, so it never adds a 1 that A had not already provided.

    Interviewers love this law because it tests whether you can see structure instead of grinding through a K-map. If you already know the basic identities from our guide to Boolean algebra laws, absorption is the shortcut that falls out of just two of them: the identity law and the null law.

    Algebraic proof, line by line

    Start with the left side and work toward A:

    • A + AB
    • = A·1 + AB (identity law: A = A·1)
    • = A·(1 + B) (distributive law, factoring A out)
    • = A·1 (null law: 1 + B = 1 for any B)
    • = A (identity law)

    Key fact: the entire proof hinges on 1 + B = 1. Any variable ORed with 1 is 1, so B stops mattering the moment it is factored beside the "1" hiding inside A.

    The dual form follows the same way: A(A + B) = AA + AB = A + AB, and the line above finishes it, giving A. Notice the proof of one form uses the other, which is why they are usually taught as a pair.

    Truth-table proof

    Because there are only two variables, exhaustive checking takes four rows. Compare the AB column and the A + AB column against A:

    ABABA + ABA
    00000
    01000
    10011
    11111

    The fourth and fifth columns are identical in all four rows, so the two expressions are the same Boolean function. Row 4 is the interesting one: AB is 1 there, but A is already 1, so the OR gains nothing.

    Before: F = A + AB After: F = A A B AND OR 2 gates, 4 input pins A F B unused 0 gates: just a wire CourseTron · coursetron.com
    Absorption in hardware: the AND and OR gates vanish and B no longer influences the output.

    Why it works: the set and signal view

    Think of A as "all input combinations where A is true." The term AB is the subset of those combinations where B is also true. A subset can never add elements to its parent set, so the union of A and AB is just A. On a K-map, AB's cells are a strict subset of A's cells, so the group for AB is already swallowed by the larger group for A and never needs its own loop.

    The timing view makes the same point dynamically. Watch the animated diagram below: B toggles freely, AB pulses only while both inputs are high, yet the output F = A + AB tracks A exactly.

    Timing: F = A + AB always equals A A B AB F=A+AB Orange AB pulses never extend F CourseTron · coursetron.com
    The scanning cursor sweeps the waveforms. The orange AB pulses always sit inside the high interval of A, so F is identical to A.
    K-map of F = A + AB B=0 B=1 A=0 A=1 0011 Cell AB (A=1, B=1) is a subset of the A row. One loop covers A=1: F = A, no loop for AB. Orange loop = the single group, F = A CourseTron · coursetron.com
    Two-variable K-map: the AB cell lies inside the group for A, so one loop gives F = A.

    Redundancy removal in real expressions

    Absorption rarely appears as a clean A + AB. The skill is spotting a hidden "A" inside bigger terms. Some examples:

    • F = AB + ABC + ABD: treat AB as the "A". Both longer terms contain it, so F = AB. Three product terms and eight literals collapse to one term and two literals.
    • F = X + X'Y: not directly absorbable, but X + X'Y = X + Y by the related simplification (X' is redundant in the second term). Do not confuse the two: absorption needs the exact same literal, not its complement.
    • F = (P + Q)(P + Q + R): let A = P + Q; this is A(A + R) = A = P + Q.
    • F = A + A(B + C·D): the bracket is just a bigger B, so F = A regardless of how complicated it is.

    Key fact: absorption removes a whole term, not just a literal. That is why it saves more hardware than literal-trimming rules like X + X'Y = X + Y.

    Consider a state-machine output written by hand as ready = en | (en & !busy) | (en & !busy & !err). Absorption reduces it to ready = en, eliminating two AND gates, a three-input OR and two inverters. Multiply that by hundreds of status flags in a controller and the area adds up.

    assign ready_raw = en | (en & ~busy) | (en & ~busy & ~err);
    assign ready     = en;   // identical function after absorption

    What synthesis tools do with it

    You will rarely hand-simplify production logic, but the same law is running inside every tool you use. Synopsys Design Compiler and Cadence Genus perform Boolean optimisation that includes absorption, consensus and algebraic factoring during logic restructuring. Academic minimisers such as Espresso apply it implicitly when expanding and making covers irredundant. In formal flows, Siemens Questa and equivalence checkers confirm that a rewritten netlist matches the original RTL, so a redundant term removed by the optimiser is provably harmless.

    There is a catch. Redundant logic is sometimes inserted deliberately: a consensus term added to cover a static-1 hazard looks "absorbable" to a naive reader. Because the consensus term (the one covering the transition between two adjacent groups) is not a subset of either neighbour, it is not absorbed by the law above, but a careless "clean-up" of such logic can reintroduce glitches. In ASIC flows, designers mark such cells with dont_touch or equivalent attributes. Teams at design houses such as Avecas VLSI design services review these cases explicitly during netlist signoff.

    Common interview traps

    • Writing A + A'B = A. That is wrong; the correct result is A + B.
    • Applying absorption when the smaller term is not a literal subset of the larger, for example A + A'B'.
    • Forgetting the dual: A(A + B) = A, which often hides inside POS-form expressions.
    • Skipping the check with a truth table. For three or fewer variables, an eight-row table is the quickest self-test.

    Key fact: always verify a simplification you are unsure of by plugging in all input combinations. Two minutes of checking beats a wrong answer in the interview.

    For more practice with simplification and logic reduction, work through our Karnaugh map simplification guide, then test yourself with timed problems. To go deeper into the hands-on side, such as RTL, synthesis and verification, see the programs at ChipXpert VLSI training.

    Ready to build real fluency in Boolean algebra, logic minimisation and gate-level design? Explore the Digital Electronics track on CourseTron courses and practise with guided problems.

    Frequently asked questions

    Is absorption the same as the redundancy theorem?

    No. Absorption removes a term that contains another term entirely (A + AB = A). The redundancy or consensus theorem, AB + A'C + BC = AB + A'C, removes a term formed from two others. Both reduce logic, but they apply in different situations.

    Does absorption work in product-of-sums form?

    Yes. The dual form A(A + B) = A applies directly to sum terms. For instance, (X + Y)(X + Y + Z) simplifies to X + Y.

    Can absorption change the timing behaviour of a circuit?

    Logically the function is unchanged, but the physical network is different. Removing gates usually shortens the critical path, though it can alter hazard behaviour in asynchronous or glitch-sensitive logic, so check before simplifying such paths.

    How many gates does A + AB cost without simplification?

    One 2-input AND and one 2-input OR, so two gates. After absorption the output is simply connected to A, so zero gates remain.

    Advertisement