Absorption Law: Truth Table and Examples | Truth Tables

// laws and rules · Logical equivalence

Absorption law_

Absorption is the simplification law par excellence: when one alternative is already contained in another, it is redundant. The formula p ∨ (p ∧ q) reduces to plain p, whatever q says, and its truth table confirms it in all four rows.

Example

(p ∨ (p ∧ q)) ⇔ p

What the variables mean

  • p: “I am a club member”
  • q: “I have an invitation”

In plain words

“I get in if I am a member, or if I am a member and have an invitation” is a convoluted way of saying “I get in if I am a member”.

Truth table

pqp ∧ qp ∨ (p ∧ q)(p ∨ (p ∧ q)) ⇔ p
TTTTT
TFFTT
FTFFT
FFFFT
4 combinations2 variables3 steps

Classification: Tautology · 4 rows

Statement

The law states that p ∨ (p ∧ q) ≡ p. It has an equally valid dual version: p ∧ (p ∨ q) ≡ p. In both, the term next to p is “absorbed” and disappears.

The key is that p ∧ q is always stricter than p: any situation making p ∧ q true already made p true. Adding it as an alternative contributes no new case.

Why it holds: reading the table

Rows with p = T: the disjunction is T because its first member already is, and the right side is T as well. They agree without even looking at q.

Rows with p = F: then p ∧ q is F (a conjunction with a false factor), so the disjunction F ∨ F gives F, matching the right side. Both sides agree in all four rows, so the biconditional is a tautology.

How it is used

It is the rule that spots redundant conditions. Whenever an expression contains a term and also a conjunction containing that term, the latter can be dropped without changing behaviour.

In Boolean minimisation (Karnaugh maps, the Quine-McCluskey algorithm) absorption is what lets you discard implicants already covered by more general ones.

Examples

Everyday: “I will take an umbrella if it rains, or if it rains and is windy.” The second condition adds nothing: raining is enough.

Programming: `if (isAdmin || (isAdmin && hasPermission))` simplifies to `if (isAdmin)`. Modern linters flag this pattern precisely because it is an absorption.

Relation to other laws

It follows from distributivity and idempotence: p ∨ (p ∧ q) ≡ (p ∨ p) ∧ (p ∨ q) ≡ p ∧ (p ∨ q), and that last form is absorbed into p again.

Together with idempotence and commutativity it belongs to the “clean-up” group of laws applied at the end of a simplification to leave the expression minimal.

Try it yourself

Edit the expression in the calculator and watch how every step of the table changes.

Open in the calculator →

Related operators

Frequently asked questions

Is there a version with ∧ on the outside?

Yes: p ∧ (p ∨ q) ≡ p, proved the same way. It is the dual form of the same law.

What if q is always false?

It does not matter: the law holds for any q, be it a contingency, a tautology or a contradiction. That is why no row depends on q.

Is it useful for optimising code?

Yes, it removes needless evaluations. More importantly it makes the code easier to read, which usually matters more than the micro performance gain.

Logical equivalence

All laws and rules →