Skip to content

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)
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSETRUE
3TRUETRUETRUE

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)
#ABf
0FALSEFALSEFALSE
1FALSETRUETRUE
2TRUEFALSETRUE
3TRUETRUETRUE

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)
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSEFALSE
3TRUETRUETRUE
NOT (NOT A OR NOT B)
  1. 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)
  2. Double negation · NOT NOT A = A
    NOT NOT (A AND B) → A AND BResult: A AND B
A AND B · verified equivalent on every row · simplified, not minimal

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)
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSETRUE
3TRUETRUETRUE

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)
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSEFALSE
3TRUETRUETRUE

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)
#ABCf
0FALSEFALSEFALSEFALSE
1FALSEFALSETRUEFALSE
2FALSETRUEFALSETRUE
3FALSETRUETRUETRUE
4TRUEFALSEFALSETRUE
5TRUEFALSETRUETRUE
6TRUETRUEFALSETRUE
7TRUETRUETRUETRUE
(A OR B) AND (A OR B OR C)
  1. Absorption · A AND (A OR B) = A
    (A OR B) AND (A OR B OR C) → A OR BResult: A OR B
A OR B · verified equivalent on every row · simplified, not minimal

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
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSEFALSE
3TRUETRUETRUE
NOT (A AND NOT B) AND A
  1. De Morgan's law · NOT (A AND B) = NOT A OR NOT B
    NOT (A AND NOT B) → NOT A OR NOT NOT BResult: (NOT A OR NOT NOT B) AND A
  2. Double negation · NOT NOT A = A
    NOT NOT B → BResult: (NOT A OR B) AND A
(NOT A OR B) AND A · verified equivalent on every row · simplified, not minimal

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
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSEFALSE
3TRUETRUETRUE

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
#ABf
0FALSEFALSEFALSE
1FALSETRUETRUE
2TRUEFALSEFALSE
3TRUETRUEFALSE

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)
#ABf
0FALSEFALSETRUE
1FALSETRUETRUE
2TRUEFALSEFALSE
3TRUETRUEFALSE

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

See also

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.