Truth table exercises with answers: 3 variables
Ten formulas over A, B and C, eight rows each: the majority function, parity, a multiplexer, implications with compound parts and the “exactly one” pattern. Build the table, list the TRUE rows, and check them against the engine's table under each problem.
With three inputs the rows run from 0 to 7 and A is the most significant bit: row 0 is all FALSE, row 1 is A = FALSE, B = FALSE, C = TRUE, row 4 is A = TRUE, B = FALSE, C = FALSE and row 7 is all TRUE. Every solution names rows as assignments, so you can find each one in the table without converting numbers; when you write minterm lists yourself, keep this same order.
Work with one column per subformula. For (A OR B) AND NOT C, fill a column for A OR B, one for NOT C, and only then the AND of the two; the engine shows the final column, and your intermediate columns are where a slip is easiest to find. Two of the problems, parity and exactly-one, agree on three rows and differ on the all-TRUE row, which is the point of putting them side by side.
1. Build the truth table of the majority function (A AND B) OR (A AND C) OR (B AND C) and list the TRUE rows. (A AND B) OR (A AND C) OR (B AND C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | FALSE |
| 2 | FALSE | TRUE | FALSE | FALSE |
| 3 | FALSE | TRUE | TRUE | TRUE |
| 4 | TRUE | FALSE | FALSE | FALSE |
| 5 | TRUE | FALSE | TRUE | TRUE |
| 6 | TRUE | TRUE | FALSE | TRUE |
| 7 | TRUE | 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 C) OR (B AND C) Classification: contingent
TRUE on the four rows with at least two inputs TRUE: A = FALSE, B = TRUE, C = TRUE, A = TRUE, B = FALSE, C = TRUE, A = TRUE, B = TRUE, C = FALSE and all three TRUE. Each AND term covers the pair it names, and the all-TRUE row is covered three times.
2. Build the truth table of A XOR B XOR C and list the TRUE rows. A XOR B XOR C
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | TRUE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | FALSE |
| 4 | TRUE | FALSE | FALSE | TRUE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | 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 XOR B XOR C Classification: contingent
An XOR chain is parity: TRUE when an odd number of inputs is TRUE, so on the three rows with exactly one input TRUE and on A = TRUE, B = TRUE, C = TRUE. It does not mean “exactly one”.
3. Build the truth table of (A OR B) AND NOT C and list the TRUE rows. (A OR B) AND NOT C
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | FALSE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | FALSE |
| 4 | TRUE | FALSE | FALSE | TRUE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | TRUE |
| 7 | TRUE | 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 C Classification: contingent
C must be FALSE and at least one of A, B TRUE: A = FALSE, B = TRUE, C = FALSE, A = TRUE, B = FALSE, C = FALSE and A = TRUE, B = TRUE, C = FALSE.
4. Build the truth table of A -> (B AND C) and list the TRUE rows. A -> (B AND C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | TRUE |
| 1 | FALSE | FALSE | TRUE | TRUE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | TRUE |
| 4 | TRUE | FALSE | FALSE | FALSE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | 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 C Classification: contingent
FALSE only when A is TRUE and B AND C is not, which is three rows: A = TRUE with B = FALSE, C = FALSE, with B = FALSE, C = TRUE or with B = TRUE, C = FALSE. The four rows with A FALSE are TRUE vacuously, and so is the all-TRUE row.
5. Build the truth table of the 2-to-1 multiplexer (NOT A AND B) OR (A AND C) and list the TRUE rows. (NOT A AND B) OR (A AND 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 | FALSE |
| 5 | TRUE | FALSE | TRUE | TRUE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | TRUE | TRUE | TRUE |
The engine found no law that shortens this expression; it is already as short as its rewriting laws can make it.
(NOT A AND B) OR (A AND C) Classification: contingent
A selects: when A is FALSE the output copies B (rows A = FALSE, B = TRUE, C = FALSE and A = FALSE, B = TRUE, C = TRUE), and when A is TRUE it copies C (rows A = TRUE, B = FALSE, C = TRUE and all TRUE).
6. Build the truth table of A AND (B OR C) and list the TRUE rows. A AND (B OR C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | FALSE |
| 2 | FALSE | TRUE | FALSE | FALSE |
| 3 | FALSE | TRUE | TRUE | FALSE |
| 4 | TRUE | FALSE | FALSE | FALSE |
| 5 | TRUE | FALSE | TRUE | TRUE |
| 6 | TRUE | TRUE | FALSE | TRUE |
| 7 | TRUE | 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 C) Classification: contingent
A must be TRUE together with at least one of B, C: A = TRUE, B = FALSE, C = TRUE, A = TRUE, B = TRUE, C = FALSE and all three TRUE. Distribution gives the equivalent (A AND B) OR (A AND C).
7. Build the truth table of (A AND B) -> C and list the TRUE rows. (A AND B) -> C
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | TRUE |
| 1 | FALSE | FALSE | TRUE | TRUE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | TRUE |
| 4 | TRUE | FALSE | FALSE | TRUE |
| 5 | TRUE | FALSE | TRUE | TRUE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | 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 -> C Classification: contingent
Only one row is FALSE: A = TRUE, B = TRUE, C = FALSE. An implication whose antecedent is a conjunction fails only when every conjunct holds and the consequent does not.
8. Build the truth table of the “exactly one” formula (A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C) and list the TRUE rows. (A AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | FALSE |
| 1 | FALSE | FALSE | TRUE | TRUE |
| 2 | FALSE | TRUE | FALSE | TRUE |
| 3 | FALSE | TRUE | TRUE | FALSE |
| 4 | TRUE | FALSE | FALSE | TRUE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | 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 AND NOT B AND NOT C) OR (NOT A AND B AND NOT C) OR (NOT A AND NOT B AND C) Classification: contingent
Each term is one full minterm, so the formula is TRUE on exactly those three rows: A = TRUE, B = FALSE, C = FALSE, A = FALSE, B = TRUE, C = FALSE and A = FALSE, B = FALSE, C = TRUE. Compare with problem 2: parity also includes the all-TRUE row.
9. Build the truth table of NOT (A OR B OR C) and list the TRUE rows. NOT (A OR B OR C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | TRUE |
| 1 | FALSE | FALSE | TRUE | FALSE |
| 2 | FALSE | TRUE | FALSE | FALSE |
| 3 | FALSE | TRUE | TRUE | FALSE |
| 4 | TRUE | FALSE | FALSE | FALSE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | 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 C) Classification: contingent
TRUE only when no input is TRUE: A = FALSE, B = FALSE, C = FALSE. By De Morgan it equals NOT A AND NOT B AND NOT C.
10. Build the truth table of the chain (A -> B) AND (B -> C) and list the TRUE rows. (A -> B) AND (B -> C)
| # | A | B | C | f |
|---|---|---|---|---|
| 0 | FALSE | FALSE | FALSE | TRUE |
| 1 | FALSE | FALSE | TRUE | TRUE |
| 2 | FALSE | TRUE | FALSE | FALSE |
| 3 | FALSE | TRUE | TRUE | TRUE |
| 4 | TRUE | FALSE | FALSE | FALSE |
| 5 | TRUE | FALSE | TRUE | FALSE |
| 6 | TRUE | TRUE | FALSE | FALSE |
| 7 | TRUE | 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 (B -> C) Classification: contingent
Both implications must hold, which removes the rows with A = TRUE, B = FALSE (two rows) and the rows with B = TRUE, C = FALSE (two more). Four remain: all FALSE; C alone TRUE; B and C TRUE; all TRUE. Note that A = TRUE, B = TRUE, C = FALSE fails the second implication.
Questions
Does the order of the inputs change the answer?
It changes the row numbers, not the TRUE assignments. The engine orders inputs by first appearance in the formula, which is A, B, C in every problem here; (C AND B) OR A would list C first and renumber the rows, which is why the solutions name assignments rather than bare numbers.
Related
Guides
Glossary
Tools
See also
- Lesson 4: Truth tables (beginner, 12 min)
- Majority of three (2-out-of-3 voting): truth table, K-map and NAND form
- Odd parity of three inputs: A XOR B XOR C
- 2-to-1 multiplexer: (S AND B) OR (NOT S AND A)
- XOR of three inputs is odd parity, not “exactly one”
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.