Sometimes it is useful to consider all of the possible ways in which a compound proposition could be true or false depending on the truth values of its sentence letters. To see all of the possibilities, we can construct a truth table—a table in which each row represents a distinct possible set of truth values for the sentence letters, and a column lists the corresponding truth values for the compound proposition. Numerous practical applications of truth tables will be introduced later in this chapter; for now, let’s just learn how to construct one.

To construct a truth table, we begin by making a column for each sentence letter, and another column for the compound proposition. To determine how many rows will be needed, we count how many different sentence letters appear in the proposition. If n is the number of sentence letters, there are 2^{n} possible combinations of truth values, since each letter can be either true or false. So, we’ll need 2^{n} rows in the truth table (in addition to the header row). For example, if there is only one sentence letter in the argument, the truth table will have 2 rows; if there are 2 letters, it will have 4 rows; if there are 3 letters, it will have 8 rows; if there are 4 letters, it will have 16 rows, and so on.

To set up a truth table for the proposition (A ⊃ (B ∨ C)), create a column for each sentence letter, and another column for the compound proposition. Below the header row, make 8 more rows, since there are 3 sentence letters: 2^{3} = 8. It should look like this:

A | B | C | (A ⊃ (B ∨ C)) |
---|---|---|---|

Now we fill in the truth values for the sentence letters, as follows. Beneath the sentence letter in the leftmost column, we assign the value *false* (represented by “0”) to the first half of the rows, and assign the value *true* (represented by “1”) to the remaining half. In the example above, there are eight rows, so we’ll write “0” in the first four boxes under the letter A, and write “1” in the last four.

Then we proceed to the second sentence letter (if there is one), and alternate zeros and ones twice as frequently as we did in the first column: we write zeros in the first quarter of the rows, ones in the second quarter, zeros in the third quarter, and ones in the fourth quarter.

Next we go to the third letter (if there is one), and alternate zeros and ones twice as frequently as in the second column, and so on, until we’ve completed the columns for all sentence letters. (If done correctly, the last sentence letter will have zeros and ones every alternate row.) This procedure ensures that every possible combination of truth values appears in exactly one row of the table.

For the proposition (A ⊃ (B ∨ C)), or any other proposition with three sentence letters, the truth values in the sentence letter columns should look like this:

A | B | C | (A ⊃ (B ∨ C)) |
---|---|---|---|

0 | 0 | 0 | |

0 | 0 | 1 | |

0 | 1 | 0 | |

0 | 1 | 1 | |

1 | 0 | 0 | |

1 | 0 | 1 | |

1 | 1 | 0 | |

1 | 1 | 1 |

Finally, we use the truth values of the sentence letters to calculate the truth value of the compound proposition for each row.

In the first row of the truth table, the letters A, B, and C are all false. What is the truth value of the proposition (A ⊃ (B ∨ C)) in this row? Well, the conditional is the main connective, and there is only one way for a conditional to be false—namely, when it has a true antecedent and a false consequent. But the antecedent A is false in this row, so the conditional must be true. For the same reason, the conditional must be true in the second, third, and fourth rows. So, we write “1” beneath the compound proposition in the first four rows.

What about the fifth row, where A is true, but B and C are false? The disjunction (B ∨ C) is false here, because both disjuncts are false. So the conditional has a true antecedent and false consequent, making it false. So, in row five we write “0” for the compound proposition.

In the remaining three rows, the disjunction is true (since at least one of the disjuncts B or C is true in each of those rows); hence the conditional is true. So we write “1” beneath the compound proposition in those last three rows. The completed truth table looks like this:

A | B | C | (A ⊃ (B ∨ C)) |
---|---|---|---|

0 | 0 | 0 | 1 |

0 | 0 | 1 | 1 |

0 | 1 | 0 | 1 |

0 | 1 | 1 | 1 |

1 | 0 | 0 | 0 |

1 | 0 | 1 | 1 |

1 | 1 | 0 | 1 |

1 | 1 | 1 | 1 |

This truth table shows that the compound proposition (A ⊃ (B ∨ C)) can be false only when A is true but B and C are both false; in all other circumstances the proposition is true.

Truth tables have many useful applications, as we’ll see. Not only do truth tables show the possible truth values of compound propositions; they also reveal important logical relations between propositions or sets of propositions. To assess the logical relations between two or more propositions, we can represent those propositions side-by-side in the same truth table, creating one column for each proposition.

Let’s create a truth table for the following three propositions: (~A ⊃ B), (B ∨ C), and (C ≡ D). Since there are a total of four sentence letters in these three propositions, the truth table will have 16 rows:

A | B | C | D | (~A ⊃ B) | (B ∨ C) | (C ≡ D) |
---|---|---|---|---|---|---|

0 | 0 | 0 | 0 | 0 | 0 | 1 |

0 | 0 | 0 | 1 | 0 | 0 | 0 |

0 | 0 | 1 | 0 | 0 | 1 | 0 |

0 | 0 | 1 | 1 | 0 | 1 | 1 |

0 | 1 | 0 | 0 | 1 | 1 | 1 |

0 | 1 | 0 | 1 | 1 | 1 | 0 |

0 | 1 | 1 | 0 | 1 | 1 | 0 |

0 | 1 | 1 | 1 | 1 | 1 | 1 |

1 | 0 | 0 | 0 | 1 | 0 | 1 |

1 | 0 | 0 | 1 | 1 | 0 | 0 |

1 | 0 | 1 | 0 | 1 | 1 | 0 |

1 | 0 | 1 | 1 | 1 | 1 | 1 |

1 | 1 | 0 | 0 | 1 | 1 | 1 |

1 | 1 | 0 | 1 | 1 | 1 | 0 |

1 | 1 | 1 | 0 | 1 | 1 | 0 |

1 | 1 | 1 | 1 | 1 | 1 | 1 |

Representing two or more compound propositions with columns in a truth table, as done in the example above, makes it easy to assess logical relations between those propositions. For instance, we can use truth tables to determine whether two propositions are logically equivalent, whether one proposition logically entails another, whether several propositions are logically consistent with each other, and whether an argument is valid or invalid. Each of these applications of truth tables will be explained in the pages that follow.