CONSTRUCTING TRUTH TABLES

A more challenging example

Let's construct a full truth table for  the statement:

~((P (Q ▼ ~R)) ((Q ● P) P))

(Note:  This statement is the negation of a biconditional, one side of which is a conditional whose antecedent is P and whose consequent is the disjunction of Q with the negation of R, and whose other side is also a conditional whose antecedent is the conjunction of Q with P and whose consequent is P.)

(STEP 1) This sentence contains three sentence letters: P, Q, and R. So first we must list all permutations of truth and falsity assigned to P, Q, and R. There will be 8 (= 23) such permutations:

 P Q R T T T T T ⊥ T ⊥ T T ⊥ ⊥ ⊥ T T ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥

Note the patterns here:
· The truth value of R alternates T,
all the way down.
· The truth value of Q alternates two T's and two
's.
· The truth value of P alternates four T's and four
's.

(STEP 2) We now want to start constructing the truth table. We write our target sentence next to the sentence letters. Our eventual goal is to fill in a series of columns of truth values, one under each sentence letter and connective in the target sentence.

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T ⊥ T ⊥ T T ⊥ ⊥ ⊥ T T ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥

The final truth table will thus have 13 columns of truth values (plus the three under the initial sentence letters) and Column 1 is the column for the dominant operator.

(STEP 3) We now want to construct a truth table for our particular sentence. The first step is to assign truth values to each sentence letter in our sentence:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T T T T T T T ⊥ T T ⊥ T T T T ⊥ T T ⊥ T ⊥ T T T ⊥ ⊥ T ⊥ ⊥ ⊥ T T ⊥ T T ⊥ T T T ⊥ ⊥ ⊥ T ⊥ ⊥ T ⊥ T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

The truth value for a given sentence letter is fully determined by seeing what truth value is assigned to that letter on the left-hand side of the truth table.

(STEP 4) To fill in the rest of the columns, we work from connectives of smaller scope to connectives of larger scope. We start with connectives of smallest scope. This gives us two choices:

• The negation attached to R.
The conjunction joining Q and P.

Let's do the negation first. Negation reverses the truth value of the input, so everywhere R is true we put false and vice versa:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T ⊥ T T T T T T ⊥ T T T ⊥ T T T T ⊥ T T ⊥ ⊥ T ⊥ T T T ⊥ ⊥ T ⊥ T ⊥ ⊥ T T ⊥ T T ⊥ T ⊥ T T ⊥ ⊥ ⊥ T ⊥ ⊥ T T ⊥ T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥

(STEP 5) Next we'll do the conjunction joining Q and P. To fill in the column, we take the truth value listed under Q as the first input and the truth value under P as the second input, and then apply to these two inputs the rule for conjunction:

• T T T
• T
•

These results are listed under the conjunction in the table in column 10:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T ⊥ T T T T T T T ⊥ T T T ⊥ T T T T T ⊥ T T ⊥ ⊥ T ⊥ ⊥ T T T ⊥ ⊥ T ⊥ T ⊥ ⊥ ⊥ T T ⊥ T T ⊥ T ⊥ T T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ T T ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥

(STEP 6) We have now completed the truth table under the two connectives of smallest scope. Next we start working outward. At any point in the construction, we can fill in the table under any connective all of whose inputs have already been determined. So we can now fill in:

• Under the disjunction (since the two inputs Q and ~R have been determined).
• Under the second conditional (since the two inputs (Q P) and P have been determined).

Let's do the disjunction first. We take the column under Q as the input for the first disjunct and the column under ~R as the input for the second disjunct. We obtain:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T T ⊥ T T T T T T T ⊥ T T T T ⊥ T T T T T ⊥ T T ⊥ ⊥ ⊥ T ⊥ ⊥ T T T ⊥ ⊥ T ⊥ T T ⊥ ⊥ ⊥ T T ⊥ T T ⊥ T T ⊥ T T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ T T T ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ T T ⊥ ⊥ ⊥ ⊥ ⊥

We get falses only in the third and seventh rows, where both Q and ~R are false.

(STEP 7) Next we complete the table under the second conditional, here using the rule for the conditional. This rule tells us to put down a T unless the antecedent is true and the consequent is false. The antecedent here is (Q P), the consequent is P. It turns out that we never have (Q P) true and P false, so we obtain:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T T ⊥ T T T T T T T T ⊥ T T T T ⊥ T T T T T T ⊥ T T ⊥ ⊥ ⊥ T ⊥ ⊥ T T T T ⊥ ⊥ T ⊥ T T ⊥ ⊥ ⊥ T T T ⊥ T T ⊥ T T ⊥ T T ⊥ ⊥ T ⊥ ⊥ T ⊥ ⊥ T T T ⊥ T ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ T T ⊥ ⊥ ⊥ ⊥ T ⊥

(STEP 8) We now have three connectives remaining:

• The initial negation
• The first conditional
• The biconditional

We cannot yet fill in under the negation, since it negates the biconditional and thus its input has not yet been determined. Similarly we cannot yet fill in under the biconditional, because its left-hand side is the conditional (P É (Q ▼ ~R)), and this input has not yet been determined. Thus we must next fill in under the conditional. We take as inputs the truth values assigned to P and to      (Q É ~R), that is, column 2 is the antecedent and column 5 is the consequent:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T T T ⊥ T T T T T T T T ⊥ T T T T T ⊥ T T T T T T ⊥ T T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ T T T T ⊥ ⊥ T T ⊥ T T ⊥ ⊥ ⊥ T T T ⊥ T T ⊥ T T T ⊥ T T ⊥ ⊥ T ⊥ ⊥ T ⊥ ⊥ T T T T ⊥ T ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ T T ⊥ ⊥ ⊥ ⊥ T ⊥

(STEP 9) Now that the conditional has been filled in, we can fill in the biconditional, taking as input the columns under the first and second conditionals (Columns 3 and 12 produce the value for Column 8):

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T T T T T ⊥ T T T T T T T T T ⊥ T T T T T ⊥ T T T T T T T ⊥ T T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ T T T T ⊥ ⊥ T T ⊥ T T ⊥ T ⊥ ⊥ T T T ⊥ T T ⊥ T T T ⊥ T T T ⊥ ⊥ T ⊥ ⊥ T ⊥ ⊥ T T T T ⊥ T T ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ T ⊥ ⊥ ⊥ T T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ T T ⊥ T ⊥ ⊥ ⊥ T ⊥

(STEP 10) Finally, we apply the initial negation to the results under the biconditional, reversing each of the truth values found there:

 1 2 3 4 5 6 7 8 9 10 11 12 13 P Q R ~ ((P → (Q ▼ ~ R)) ↔ ((Q ● P) → P)) T T T ⊥ T T T T ⊥ T T T T T T T T T ⊥ ⊥ T T T T T ⊥ T T T T T T T ⊥ T T T ⊥ ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ T T T T ⊥ ⊥ ⊥ T T ⊥ T T ⊥ T ⊥ ⊥ T T T ⊥ T T ⊥ ⊥ T T T ⊥ T T T ⊥ ⊥ T ⊥ ⊥ T ⊥ ⊥ ⊥ T T T T ⊥ T T ⊥ ⊥ T ⊥ ⊥ ⊥ T ⊥ ⊥ T ⊥ ⊥ ⊥ T T ⊥ ⊥ ⊥ T ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ T ⊥ T T ⊥ T ⊥ ⊥ ⊥ T ⊥

We now know the truth value of '~((P (Q ▼ ~R)) ((Q ● P) P))' relative to any interpretation. If an interpretation assigns truth to P and R and falsity to Q, then '~((P (Q ▼ ~R)) ((Q ● P) P))' will be true relative to it; otherwise the formula  will be false.