Skip to content

Boolean simplification exercises with answers: advanced

Ten simplifications beyond single laws: the consensus theorem and its dual, factoring a common term out of three, an XOR that cancels, and implication chains that collapse to a constant or to one variable. Write the shorter form, justify it, and compare with the engine.

Most of these are outside what the engine's simplifier does by itself. Its laws are local rewrites that shorten the expression, and neither factoring nor consensus is one of them, so under (A AND B) OR (NOT A AND C) OR (B AND C) the step list says that no law applied, even though the third term can go. The classification and the truth table under each problem are still exact, and every answer in the solutions was checked equivalent to its problem on every row. The Karnaugh map practice sets show the same consensus case as two groups that already cover the third.

Two patterns recur. Consensus: in (X AND Y) OR (NOT X AND Z) OR (Y AND Z) the term Y AND Z is implied by the other two, because on any row where Y and Z are TRUE either X or NOT X is TRUE as well, and the dual holds for products of sums. Implication: rewrite P -> Q as NOT P OR Q, then use absorption and complement; A -> (B -> A) becomes NOT A OR NOT B OR A, which is TRUE.

1. Simplify (A AND B) OR (NOT A AND C) OR (B AND C). (A AND B) OR (NOT A AND C) OR (B AND C)
#ABCf
0FALSEFALSEFALSEFALSE
1FALSEFALSETRUETRUE
2FALSETRUEFALSEFALSE
3FALSETRUETRUETRUE
4TRUEFALSEFALSEFALSE
5TRUEFALSETRUEFALSE
6TRUETRUEFALSETRUE
7TRUETRUETRUETRUE

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 (NOT A AND C) OR (B AND C)

Classification: contingent

Consensus: B AND C is implied by the other two terms, so dropping it changes no row. The step list shows no law applied, because the simplifier does not look at two terms at once; a Karnaugh map of the function shows two groups that already cover every cell of the third.

2. Simplify (A XOR B) XOR B. (A XOR B) XOR B
#ABf
0FALSEFALSEFALSE
1FALSETRUEFALSE
2TRUEFALSETRUE
3TRUETRUETRUE
(A XOR B) XOR B
  1. Associativity · (A XOR B) XOR C = A XOR B XOR C
    (A XOR B) XOR B → A XOR B XOR BResult: A XOR B XOR B
  2. XOR identities · A XOR A = FALSE
    A XOR B XOR B → AResult: A
A · verified equivalent on every row · simplified, not minimal

Classification: contingent

Associativity regroups the chain as A XOR (B XOR B), and XOR identity turns B XOR B into FALSE and A XOR FALSE into A. The engine shows both laws.

3. Simplify A -> (B -> A) and classify it. A -> (B -> A)
#ABf
0FALSEFALSETRUE
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 -> B -> A

Classification: tautology

Implication elimination twice gives NOT A OR (NOT B OR A); associativity flattens it to NOT A OR NOT B OR A, and complement on NOT A OR A makes the whole disjunction TRUE. The classification line says tautology; the step list shows no law, since the simplifier keeps implications.

4. Simplify (A -> B) -> A. (A -> B) -> A
#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 -> B) -> A

Classification: contingent

Rewrite the inner implication, (NOT A OR B) -> A, then the outer one, NOT (NOT A OR B) OR A; De Morgan and double negation give (A AND NOT B) OR A, and absorption leaves A. The table is TRUE exactly on the rows with A = TRUE.

5. Simplify (A AND B) OR (A AND C) OR (A AND D) by factoring. (A AND B) OR (A AND C) OR (A AND D)
#ABCDf
0FALSEFALSEFALSEFALSEFALSE
1FALSEFALSEFALSETRUEFALSE
2FALSEFALSETRUEFALSEFALSE
3FALSEFALSETRUETRUEFALSE
4FALSETRUEFALSEFALSEFALSE
5FALSETRUEFALSETRUEFALSE
6FALSETRUETRUEFALSEFALSE
7FALSETRUETRUETRUEFALSE
8TRUEFALSEFALSEFALSEFALSE
9TRUEFALSEFALSETRUETRUE
10TRUEFALSETRUEFALSETRUE
11TRUEFALSETRUETRUETRUE
12TRUETRUEFALSEFALSETRUE
13TRUETRUEFALSETRUETRUE
14TRUETRUETRUEFALSETRUE
15TRUETRUETRUETRUETRUE

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 C) OR (A AND D)

Classification: contingent

Distribution read right to left: A is common to the three terms, so A AND (B OR C OR D). The set of TRUE rows does not change, only the size; the step list shows no law applied, because the simplifier does not factor.

6. Simplify (A OR B) AND (NOT A OR C) AND (B OR C). (A OR B) AND (NOT A OR C) AND (B OR C)
#ABCf
0FALSEFALSEFALSEFALSE
1FALSEFALSETRUEFALSE
2FALSETRUEFALSETRUE
3FALSETRUETRUETRUE
4TRUEFALSEFALSEFALSE
5TRUEFALSETRUETRUE
6TRUETRUEFALSEFALSE
7TRUETRUETRUETRUE

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 OR C) AND (B OR C)

Classification: contingent

The dual consensus theorem: the clause B OR C is implied by (A OR B) AND (NOT A OR C), since on any row where both clauses hold, either A is FALSE and B must hold, or A is TRUE and C must hold. No law applied in the step list; the table is TRUE on A = FALSE with B = TRUE, and on A = TRUE with C = TRUE.

7. Simplify (A -> B) AND (B -> C) AND (A -> C). (A -> B) AND (B -> C) AND (A -> C)
#ABCf
0FALSEFALSEFALSETRUE
1FALSEFALSETRUETRUE
2FALSETRUEFALSEFALSE
3FALSETRUETRUETRUE
4TRUEFALSEFALSEFALSE
5TRUEFALSETRUEFALSE
6TRUETRUEFALSEFALSE
7TRUETRUETRUETRUE

The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.

(A -> B) AND (B -> C) AND (A -> C)

Classification: contingent

Hypothetical syllogism: A -> C follows from the first two implications, so adding it as a conjunct removes no row and it can be dropped. The table is TRUE on exactly the four rows of the two-implication chain: all FALSE; C alone; B and C; all TRUE.

8. Simplify NOT (A -> B) OR B. NOT (A -> B) OR 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.

NOT (A -> B) OR B

Classification: contingent

NOT (A -> B) is A AND NOT B, so the formula is (A AND NOT B) OR B; distribution gives (A OR B) AND (NOT B OR B), and complement with identity leaves A OR B. FALSE only on A = FALSE, B = FALSE.

9. Simplify (A -> B) AND (NOT A -> B). (A -> B) AND (NOT A -> B)
#ABf
0FALSEFALSEFALSE
1FALSETRUETRUE
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 (NOT A -> B)

Classification: contingent

Rewrite both: (NOT A OR B) AND (A OR B); distribution factors B out as B OR (NOT A AND A), and complement with identity leaves B. Whatever A is, one of the two antecedents holds, so B is forced: TRUE exactly on the rows with B = TRUE.

10. Simplify (A OR B) AND (NOT A OR B) AND (A OR NOT B). (A OR B) AND (NOT A OR B) AND (A OR NOT 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 OR B) AND (NOT A OR B) AND (A OR NOT B)

Classification: contingent

The first two clauses give B (factor B out, then complement); B AND (A OR NOT B) distributes to (B AND A) OR (B AND NOT B), and complement with identity leaves A AND B. TRUE on a single row, A = TRUE, B = TRUE; the step list shows no law applied.

Questions

Why does the engine not remove the consensus term?

Because removing it is not a local rewrite: you need to look at the other two terms together to see that the third adds no row. The simplifier reports no law applied and says that shorter equivalent forms are not ruled out; the Karnaugh map, which looks at the whole function, finds the cover without the extra term.

Related

Laws

Lessons

Tools

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.