8.2. Truth Tables for Material Conditionals
This module discusses how to create truth-tables for material conditionals, including multiple, embedded material conditionals, and biconditionals.
Table of Contents
- 8.2. Truth Tables for Material Conditionals
8.2.1 Truth Tables: Material Conditionals

If you give a hamster a cookie, then it will be content and won’t ask for anything else.
Image Credit: digital_image_fan [CC BY 2.0 (https://creativecommons.org/licenses/by/2.0)], via Flickr
Basic Truth Tables
We’ve already introduced the basic truth table for material conditionals, which looks like this:
P | Q | P => Q |
T | T | T |
T | F | F |
F | T | T |
F | F | T |
The truth-table has a T in every row except for the row in which the antecedent is T and the consequent is F. In every row in which the antecedent has an F (3 and 4), and in every row in which the consequent has a T (2 and 4) the truth table has a T.
Let’s symbolize a sentence and then create a truth table for it. Suppose the sentence is:
If the account is in good standing, then the policy will be renewed
First, we symbolize:
A = The account is in good standing
R = The policy will be renewed
A => R
Then, we create the truth table:
A | R | A => R |
T | T | T |
T | F | F |
F | T | T |
F | F | T |
The truth table tells us that the conditional is true in three situations:
- When the account is in good standing, and the policy will be renewed
- When the account is not in good standing, and the policy will not be renewed
- When the account is not in good standing, but the policy will be renewed anyway
The truth table tells us that the conditional is false in the following situation:
- When the account is in good standing, but the policy will still not be renewed
8.2.2 Truth Tables: Material Conditionals with Negation

It is not the case that if you give a gremlin a bath, then nothing bad will happen.
Truth Tables with Negation
Earlier we discussed the three kinds of scope negation might have on a conditional: over the antecedent, over the consequent, or over the whole conditional. Working through the truth tables for all three will help with understanding how these sentences differ in their truth values. We’ll use the following dictionary for our examples:
Let
P = You visit the palace.
Q = You get to meet the queen.
First, let’s look at cases where negation has scope over the whole conditional. Here is the truth table for, “It is not the case that, if you visit the palace, then you get to meet the queen.” We must first create a column for P => Q, since it is what is being negated; we then ‘flip’ the truth values from T to F and F to T when negating. Notice that it is true only when P is true and Q is false, and false otherwise.
P | Q | P => Q | ~(P => Q) |
T | T | T | F |
T | F | F | T |
F | T | T | F |
F | F | T | F |
Next, let’s look at a case where negation has scope only over the antecedent. Notice that we don’t recreate a column on the truth table for P => Q, since P => Q is not part of ~P => Q; instead, we create the truth table for ~P. This sentence is true in every row except where ~P is true and Q is false; in other words, where both P and Q are false.
P | Q | ~P | ~P => Q |
T | T | F | T |
T | F | F | T |
F | T | T | T |
F | F | T | F |
Last, let’s look at a case where negation has scope only over the consequent. Again, notice we don’t create a column for P => Q, but only one for ~Q. Here, the truth table is true in every row except where P is true and ~Q is false; that is, when both P and Q are true.
P | Q | ~Q | P => ~Q |
T | T | F | F |
T | F | T | T |
F | T | F | T |
F | F | T | T |
8.2.3 Truth Tables: Complex Material Conditionals

A phone contract contains many complex material conditionals.
Truth Tables for Complex Material Conditionals
Let’s now attempt a truth table for a complex sentence, like the following:
“If you work hard, and you don’t complain, then either you will be recognized or you won’t be recognized for your work.”
Let
W = You work hard
C = You complain
R = You will be recognized for your work
Let’s first symbolize the sentence as:
(W & ~C) => (R v ~R)
This truth table has 3 atomic sentences, so it will have 23 rows (8 rows), not counting the top row. It has 5 logical connectives, plus 3 atomic sentences, so it will need a total of 8 columns. We put the atomic sentences (W, C, R) in the left hand columns, the sentence we want to create a truth table for in the right hand column, and then break down the various pieces of that sentence moving from larger pieces on the right to smaller pieces on the left. We distribute all the possible truth values for the atomic sentences in the left hand columns, by putting ‘T’ in the top half and ‘F’ in the bottom half of the first column, creating two sections, and then T in the top half and F in the bottom half of each section in each column moving left to right.
W | C | R | ~C | ~R | W & ~C | R v ~R | (W & C) => (R v ~R) |
T | T | T | |||||
T | T | F | |||||
T | F | T | |||||
T | F | F | |||||
F | T | T | |||||
F | T | F | |||||
F | F | T | |||||
F | F | F |
Now, we work from left to right, completing the truth table one column at a time. First, ~C flips the values of C:
W | C | R | ~C | ~R | W & ~C | R v ~R | (W & C) => (R v ~R) |
T | T | T | F | ||||
T | T | F | F | ||||
T | F | T | T | ||||
T | F | F | T | ||||
F | T | T | F | ||||
F | T | F | F | ||||
F | F | T | T | ||||
F | F | F | T |
Now ~R, which flips the values of R:
W | C | R | ~C | ~R | W & ~C | R v ~R | (W & C) => (R v ~R) |
T | T | T | F | F | |||
T | T | F | F | T | |||
T | F | T | T | F | |||
T | F | F | T | T | |||
F | T | T | F | F | |||
F | T | F | F | T | |||
F | F | T | T | F | |||
F | F | F | T | T |
Now W & ~C, which is ‘T’ whenever there is a ‘T’ under both W and ~C, and ‘F’ whenever there is an ‘F’ under either W or ~C:
W | C | R | ~C | ~R | W & ~C | R v ~R | (W & C) => (R v ~R) |
T | T | T | F | F | F | ||
T | T | F | F | T | F | ||
T | F | T | T | F | T | ||
T | F | F | T | T | T | ||
F | T | T | F | F | F | ||
F | T | F | F | T | F | ||
F | F | T | T | F | F | ||
F | F | F | T | T | F |
Now R v ~R, which is ‘T’ whenever there is a ‘T’ under R or under ~R; of course, this means there is a ‘T’ in every row.
W | C | R | ~C | ~R | W & ~C | R v ~R | (W & C) => (R v ~R) |
T | T | T | F | F | F | T | |
T | T | F | F | T | F | T | |
T | F | T | T | F | T | T | |
T | F | F | T | T | T | T | |
F | T | T | F | F | F | T | |
F | T | F | F | T | F | T | |
F | F | T | T | F | F | T | |
F | F | F | T | T | F | T |
Lastly, we create the truth table for our main sentence. It is true whenever R v ~R is true or W & ~C is false; but since R v ~R is true in every row, our main sentence is true in every row:
W | C | R | ~C | ~R | W & ~C | R v ~R | (W & C) => (R v ~R) |
T | T | T | F | F | F | T | T |
T | T | F | F | T | F | T | T |
T | F | T | T | F | T | T | T |
T | F | F | T | T | T | T | T |
F | T | T | F | F | F | T | T |
F | T | F | F | T | F | T | T |
F | F | T | T | F | F | T | T |
F | F | F | T | T | F | T | T |
A sentence which has a ‘T’ in every row is called a truth-functional truth. It is logically necessary that it be true. The sentence “If you work hard, and you don’t complain, then either you will be recognized or you won’t be recognized for your work” is true in every possible world. Of course, the fact that it is simply a logical truth suggests that it may not say very much at all.
8.2.4 Truth Tables: Multiple Material Conditionals

The terms of a rental agreement contain embedded material conditionals.
Image Credit: Rental Realities [CC BY 2.0 (https://creativecommons.org/licenses/by/2.0)], via Flickr
Embedded Conditionals
Let’s use this dictionary:
V = I vote
J = Jane loses the election
G = I will feel guilty
Suppose we want to create a truth table for this sentence:
If I don’t vote, then if Jane loses the election, then I will feel guilty.
~V => (J => G)
to distinguish it from this sentence:
If it is the case that if I don’t vote then Jane loses the election, then I will feel guilty.
(~V => J) => G
We can create a truth table for each sentence. The difference will be in the order in which we look at the material conditionals (=>). We will do the ‘innermost’ conditional first, the one in parentheses. In the first sentence, that will be (J => G); in the second sentence, that will be (~V => J). We will then do the ‘outermost’ conditional, the one outside of the parentheses. Always do the innermost conditional before the outermost conditional.
Let’s compare the truth tables. Each has 8 rows below the top row, and 6 columns. The leftmost four columns will be identical, but everything else will differ.
For “If I don’t vote, then if Jane loses the election, then I will feel guilty”, ~V => (J => G):
First, we do J => G, which is false when J is true and G is false. Then, we do ~V => (J => G), which is false when ~V is true and (J => G) is false. Let’s highlight all the rows where it is true.
V | J | G | ~V | J => G | ~V => (J => G) |
T | T | T | F | T | T |
T | T | F | F | F | T |
T | F | T | F | T | T |
T | F | F | F | T | T |
F | T | T | T | T | T |
F | T | F | T | F | F |
F | F | T | T | T | T |
F | F | F | T | T | T |
For, “If it is the case that if I don’t vote then Jane loses the election, then I will feel guilty”, (~V => J) => G:
First, we do ~V => J, which is false when ~V is true and J is false. Then, we do (~V => J) => G, which is false when ~V => J is true and G is false. Again, let’s highlight the rows where it is true.
V | J | G | ~V | ~V => J | (~V => J) => G |
T | T | T | F | T | T |
T | T | F | F | T | F |
T | F | T | F | T | T |
T | F | F | F | T | F |
F | T | T | T | T | T |
F | T | F | T | T | F |
F | F | T | T | F | T |
F | F | F | T | F | T |
This pair of truth tables shows very clearly why ~V => (J => G) is not truth-functionally equivalent to (~V => J) => G.
Biconditionals
Recall that a material biconditional is the conjunction of two material conditionals:
P <=> Q means (P => Q) & (Q => P)
The truth table for a biconditional looks like this:
P | Q | P <=> Q |
T | T | T |
T | F | F |
F | T | F |
F | F | T |
A biconditional is true when both sides of the biconditional have the same truth value, and false when their truth values differ.
Two sentences, P and Q, are logically equivalent if every row under the biconditional P <=> Q has a ‘T’ truth value. For instance, we know by the rule of Double Negation that Q ≡ ~~Q. We can prove this by showing that the truth table for Q <=> ~~Q has a ‘T’ in every row, since in both roles Q and ~~Q have the same truth value:
Q | ~Q | ~~Q | Q <=> ~~Q |
T | F | T | T |
F | T | F | T |
Submodule 8.2 Quiz
Licenses and Attributions
Key Sources:
- Watson, Jeffrey (2019). Introduction to Logic. Licensed under: (CC BY-SA).
Next Page: 8.3 Rules for Material Conditionals