Boolean simplification exercises with answers: intermediate
Ten simplifications that take two or three laws: distribution followed by complement and identity, De Morgan followed by double negation, absorption on a compound value, and implication elimination. Write the result, name the laws in order, and compare with the engine.
Several of these need factoring, and the engine's simplifier does not factor: it applies only local rewrites that shorten the expression, so under (A OR B) AND (A OR NOT B) the step list says that no law applied, although the answer is A. The solution says so each time. Your result is still checked exactly: every answer in these solutions was compared with its problem on every row before the page was built, and the truth table under the problem lets you do the same by eye.
A reliable order of work: push negations inward first (De Morgan, then double negation), then look for a common factor and pull it out (distribution read right to left), then apply complement, identity or domination to what is left, and finally absorption. Where an implication appears, rewrite it as NOT A OR B before anything else.
1. Simplify (A OR B) AND (A OR NOT B) and name the laws you use. (A OR B) AND (A OR NOT B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | TRUE |
| 3 | TRUE | TRUE | TRUE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
(A OR B) AND (A OR NOT B) Classification: contingent
Distribution factors A out: A OR (B AND NOT B); complement turns B AND NOT B into FALSE and identity leaves A. The step list shows no law applied, because the simplifier does not factor; the table is TRUE exactly on the two rows with A = TRUE.
2. Simplify A OR (NOT A AND B) and name the laws you use. A OR (NOT A AND B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | TRUE |
| 3 | TRUE | TRUE | TRUE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
A OR (NOT A AND B) Classification: contingent
Distribution: (A OR NOT A) AND (A OR B); complement gives TRUE AND (A OR B) and identity gives A OR B. No step appears on the page, since the simplifier does not distribute; the table is FALSE only on A = FALSE, B = FALSE.
3. Simplify NOT (NOT A OR NOT B) and name the laws you use. NOT (NOT A OR NOT B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
NOT (NOT A OR NOT B)- De Morgan's law ·
NOT A OR NOT B = NOT (A AND B)NOT A OR NOT B→NOT (A AND B)Result:NOT NOT (A AND B) - Double negation ·
NOT NOT A = ANOT NOT (A AND B)→A AND BResult:A AND B
Classification: contingent
De Morgan turns the negated OR into NOT NOT A AND NOT NOT B, and double negation removes both pairs. The page shows the same two laws.
4. Simplify (A AND B) OR (A AND NOT B) and name the laws you use. (A AND B) OR (A AND NOT B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | TRUE |
| 3 | TRUE | TRUE | TRUE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
(A AND B) OR (A AND NOT B) Classification: contingent
Factor A out: A AND (B OR NOT B); complement gives A AND TRUE and identity gives A. The step list is empty; the table is TRUE exactly on the rows with A = TRUE.
5. Simplify A AND (NOT A OR B) and name the laws you use. A AND (NOT A OR B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
A AND (NOT A OR B) Classification: contingent
Distribute: (A AND NOT A) OR (A AND B); the first term is FALSE by complement and identity leaves A AND B. No law applied in the step list; the table is TRUE on A = TRUE, B = TRUE only.
6. Simplify (A OR B) AND (A OR B OR C) and name the law. (A OR B) AND (A OR B OR C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | FALSE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | TRUE |
| 4 | TRUE | FALSE | FALSE | TRUE |
| 5 | TRUE | FALSE | TRUE | TRUE |
| 6 | TRUE | TRUE | FALSE | TRUE |
| 7 | TRUE | TRUE | TRUE | TRUE |
(A OR B) AND (A OR B OR C)- Absorption ·
A AND (A OR B) = A(A OR B) AND (A OR B OR C)→A OR BResult:A OR B
Classification: contingent
Absorption on a compound value: X AND (X OR C) is X with X = A OR B. The simplifier applies it in one step.
7. Simplify NOT (A AND NOT B) AND A and name the laws you use. NOT (A AND NOT B) AND A
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
NOT (A AND NOT B) AND A- De Morgan's law ·
NOT (A AND B) = NOT A OR NOT BNOT (A AND NOT B)→NOT A OR NOT NOT BResult:(NOT A OR NOT NOT B) AND A - Double negation ·
NOT NOT A = ANOT NOT B→BResult:(NOT A OR B) AND A
Classification: contingent
De Morgan and double negation give (NOT A OR B) AND A, which is where the step list stops; distribution and complement then remove NOT A AND A and leave A AND B, TRUE on the single row A = TRUE, B = TRUE.
8. Simplify (A -> B) AND A and name the laws you use. (A -> B) AND A
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | FALSE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | TRUE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
(A -> B) AND A Classification: contingent
Implication elimination rewrites the first conjunct as NOT A OR B, and the previous problem finishes the job. The page shows no step, because the simplifier keeps implications as they are; modus ponens says the same: from A and A -> B you get B, together with A.
9. Simplify (A OR B) AND NOT A and name the laws you use. (A OR B) AND NOT A
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | FALSE |
| 1 | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | FALSE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
(A OR B) AND NOT A Classification: contingent
Distribute NOT A over the OR: (A AND NOT A) OR (B AND NOT A); the first term is FALSE by complement. This is disjunctive syllogism as an equivalence. The table is TRUE only on A = FALSE, B = TRUE, and the step list shows no law applied.
10. Simplify NOT (A OR B) OR (NOT A AND B) and name the laws you use. NOT (A OR B) OR (NOT A AND B)
| # | A | B | f |
|---|---|---|---|
| 0 | FALSE | FALSE | TRUE |
| 1 | FALSE | TRUE | TRUE |
| 2 | TRUE | FALSE | FALSE |
| 3 | TRUE | TRUE | FALSE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
NOT (A OR B) OR (NOT A AND B) Classification: contingent
De Morgan gives (NOT A AND NOT B) OR (NOT A AND B); factoring NOT A gives NOT A AND (NOT B OR B), and complement with identity leaves NOT A. The step list shows no law applied, since De Morgan alone would make the expression longer; the table is TRUE on the two rows with A = FALSE.
Questions
If the step list is empty, how do I know my answer is right?
Compare TRUE rows. The table under the problem is the engine's; if your result is A, it must be TRUE exactly on the rows with A = TRUE and nowhere else. Two formulas with the same TRUE rows are equivalent, whatever they look like.
Related
Laws
- Identity law of Boolean algebra: A AND TRUE = A, A OR FALSE = A
- Null law (domination): A AND FALSE = FALSE, A OR TRUE = TRUE
- Idempotent law: A AND A = A, A OR A = A
- Complement law: A AND NOT A = FALSE, A OR NOT A = TRUE
- Absorption law: A OR (A AND B) = A, with proof
- Double negation (involution): NOT NOT A = A
See also
- Lesson 7: Simplification laws (intermediate, 12 min)
- Distributive law: A AND (B OR C) = (A AND B) OR (A AND C), both forms
- De Morgan's laws: NOT (A AND B) = NOT A OR NOT B, with proof and examples
- “Simplified” is not “minimal”: what a simplifier can promise
- Boolean algebra calculator and simplifier with steps (every law named and verified)
Practice
Generated from the Tangibool engine, semantics tangibool-semantics/1, engine 1.0.0, build . Every table, map, simplification and verdict on these pages was computed by the Tangibool engine when the site was built, and every claim was re-checked by the same exact checker the app uses. Limits are stated where they apply. © 2026 Foreranger LTD.