Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

Rules of Inference

Back in Chapter 1, Section 2, we used truth tables to analyze compound propositions. Of course, we saw that with ever larger numbers of component propositions, the truth tables required more and more rows to complete. We then saw in Chapter 1, Section 4 that using logical equivalencies, we could simplify compound propositions without having to use a truth table.

We can also bypass truth tables when determining if an argument is valid. However, instead of using logical equivalencies, we instead use logical implications. In this section, we collect a list of common logical implications, and see how we can use those logical equivalencies in a more strategic way. We still verify them using truth tables, the importance here is just getting a list of implications we can use later.

Two Straightforward Implications

We introduce the first logical implication with an example.

Example 2.2.1

Suppose Mario likes to drive and race go-karts. Naturally, Mario tries to place 1st place in every singe race in which he competes. Consider the following propositions:

p:Mario finishes the race in 1st place.
q:Mario wins a gold trophy.

We know that if Mario finishes the race in 1st place, then he will win a gold trophy. In other words, we know that

p → q = 1.

This alone does not tell us whether or not Mario won a gold trophy because if p = 0 (Mario does not finish the race in 1st place) then the implication is still true regardless if q = 0 or if q = 1.

However, suppose we also know that

p = 1,

meaning Mario did finish the race in 1st place. Now, we do know that Mario won a gold trophy because both

p = 1
p → q = 1.

The only way for both of the above propositions to be true is for q = 1.

Example 2.2.2

Reconsider the situation presented in Example 2.2.1.

We know that the proposition p represents “Mario finishes the race in 1st place.”

Does this alone tell us that Mario wins a gold trophy? What if in this race, the 1st, 2nd, and 3rd place finishers get a green, blue, and yellow ribbon respectively? If that were the case, then Mario would get a green ribbon instead of a gold trophy.

We would need to be told specifically that Mario wins a gold trophy when he finishes in 1st place. That’s where proposition p → q: “If Mario finishes the race in 1st place, then Mario wins a gold trophy” comes into play.

In Example 2.2.1 and Example 2.2.2, we saw that if we knew that both

p = 1,

and

p → q = 1,

then we knew that q = 1 as well. In other words, it seems as if we have that

[p ∧ (p → q)] ⟹ q.

We can verify this more formally using a truth table (note that we represent p as premise p1 and we represent the proposition (p → q) as premise p2, and we represent the conclusion q using the letter c.)

p2p1 ∧ p2(p1 ∧ p2) → c
pqp → qp ∧ (p → q)[p ∧ (p → q)] → q
00101
01101
10001
11111

Indeed, since the column representing [p ∧ (p → q)] → q column consists entirely of 1s, we have that

[p ∧ (p → q)] ⟹ q.

In other words, whenever we know that p is true, and (p → q) is true, then q is true as well. As such, the argument

[p ∧ (p → q)] → q

is valid.

The argument

p
p → q
q

is a valid argument. Sometimes, this argument is also presented as

p → q
p
q

Figure 2.2.1: The “Modus Ponens” Argument.

It is common to write this kind of argument out in a tabular form. We essentially just a list of all the premises p1, p2, p3, …, pn in a single column. We then add a horizontal line and then below that line, we write the conclusion c (in the example above, the conclusion c represents proposition q.) Right next to the conclusion, we add a ∴ symbol, which can be read as “therefore”, or “thus” on the left. This can be seen below, and in Figure 2.2.1.

p
p → q
q

Also note that because the conjunction operator ∧ is commutative, we could also present this argument as

[(p → q) ∧ p] → q,

and so we could also write this in tabular form as

p→ q
p
q

This kind of argument is commonly referred to as “Modus Ponens”

There is another kind of valid argument that is directly related to the Modus Ponens argument. Again, we first demonstrate the argument with an example.

Example 2.2.3

Taking another look at Mario and his go-kart racing escapades, we know that the following proposition is true:

p → q = 1.

This means that there are only three possible combinations of truth values for p and q:

p = 0 and q = 0,
p = 0 and q = 1,
p = 1 and q = 1.

If q = 1, then we don’t know whether p = 0 or p = 1. However, if we happened to know that q = 0, then we would definitely know that p = 0. In other words, it seems as if we have that

[(p → q) ∧ ¬q] → ¬p.

In the context of this example, this means that if we knew that the propositions “If Mario finishes the race in 1st place, then Mario will win a gold trophy” and “Mario did not win a gold trophy” were true, then we would also know that the proposition “Mario did not place 1st in the race” would also be true.

From Example 2.2.3, we see that if we have that

p → q = 1
¬q = 1 (meaning q = 0),

then we must have that ¬p = 1 (again, meaning that p = 0.) Using the language of arguments, if we have premises (p → q) and (¬q), then we have conclusion (¬p.)

Again, we examine a truth table to formally verify that this is a valid argument:

p2p1 ∧ p2(p1 ∧ p2) → c
pq¬qp → q¬q ∧ (p → q)¬p[¬q ∧ (p → q)] → ¬p
0011111
0101011
1010001
1101001

Again, we have another tautological true implication, meaning we have a logical implication:

[¬q ∧ (p → q)] ⟹ ¬p.

Thus, the argument

[¬q ∧ (p → q)] → ¬p

is a valid argument.

The argument

¬q
p → q
¬p

is a valid argument, as is the argument

p → q
¬q
¬p

where we just swap the two premises.

Figure 2.2.2: The “Modus Tollens” Argument.

Just like with the previous argument, this argument can be written in a tabular form as presented in Figure 2.2.2 to the left. This argument is sometimes referred to as the “Modus Tollens” argument.

Both Modus Ponens and Modus Tollens have

p → q

as a premise. In some sense, we could think of the Modus Tollens argument as the “contrapositive” of the Modus Ponens argument.

Chains of Logical Implications

The argument

p → q
q → r
p → r

is a valid argument.

Figure 2.2.3: The “Law of the Syllogism” argument.

From Example 2.1.2 in the previous section, we saw that an argument of the form

[(p → q) ∧ (q → r)] → (p → r)

is a valid argument. Such an argument is commonly referred to as the “Law of the Syllogism.” A tabular form of this argument is presented in Figure 2.2.3 at the left.

Here’s a truth table, showing that we do indeed get all 1s in the last column, thus demonstrating the validity of the Law of the Syllogism argument:

p1p2p1 ∧ p2c(p1 ∧ p2) → c
pqrp → qq → r(p → q) ∧ (q → r)p → r[(p → q) ∧ (q → r)] → (p → r)
00011111
00111111
01010011
01111111
10001001
10101011
11010001
11111111

Again, we point out that because ∧ is commutative, the premises of the argument can be swapped, and you will still have a valid argument. This will be the last time this fact will be explicitly mentioned, though it will be implicitly used heavily throughout our work.

Naturally, we can keep chaining more and more propositions at the end of each of the premises’ implications. Here is an example involving 5 propositions labeled j, a, c, o, and b:

j → a
a → c
c → o
o → b
j → b

An Easy Logical Implication

Not all of the arguments at our disposal are profound. Some may seem quite obvious. For instance, suppose we knew that proposition p is true, and that proposition q is true. Since they are both true, we also know that the conjunction (p ∧ q) is also true.

The argument

p
q
p ∧ q

is a valid argument.

Figure 2.2.4: The “Law of Conjunction” argument.

Therefore, we know that the argument

[(p) ∧ (q)] → (p ∧ q)

is a valid argument.

Why do we care about an argument as simple as this? Because as we develop more sophisticated arguments, propositions p and q may come up (either as premises of said argument, or as results derived from other premises.) When this happens, p and q can be combined in a conjunction, and that conjunction can be used to further develop the argument.

We will see how this simple argument, sometimes referred to as the “Rule of Conjunction” can be used strategically in the next section.

A Logical Implication to Eliminate Choices

Example 2.2.4

Suppose Mario has a brother named Luigi, and that Luigi also loves to race go-karts. As such, we define the following two propositions:

M:Mario wins the race
L:Luigi wins the race

They’re both really good at the sport and are always the first two to finish any race; as such, we have that

M ∨ L = 1.

Right now, we don’t know which of the two brothers won the race. However, suppose we also knew that Luigi lost the race; in other words, we know that

¬L = 1.

Since M ∨ L = 1 and L = 0 (since ¬L = 1), that would mean we’d have to have that

M = 1,

meaning Mario won the race. We can represent this as the following argument:

[(M ∨ L) ∧ (¬L)] → M

As Example 2.2.4 demonstrates, if we know that at least one of two propositions p and q is true, but that one of them is false, (say q), then the other proposition must be true (or else the disjunction would have been false.)

The argument

p ∨ q
¬q
p

is a valid argument.

Figure 2.2.5: The “Rule of Disjunctive Syllogism” argument.

We can of course verify that this argument is valid by constructing an appropriate truth table:

p2p1p1 ∧ p2(p1 ∧ p2) → c
pq¬qp ∨ q¬q ∧ (p ∨ q)[¬q ∧ (p ∨ q)] → p
001001
010101
101111
110101

So, this argument is valid. A tabular form of the argument is given in Figure 2.2.5.

A Logical Implication Based on Contradictions

Suppose we are given some proposition p. We would naturally want to know if p was a true proposition or a false proposition. How could we go about determining if p = 0 or if p = 1?

One thing we could try and do is to simply assume that p = 0 (meaning ¬p = 1.) If assuming p = 0 yields a contradiction F0 then surely p ≠ 0 because true statements should never yield contradictions. Hence, we would have to have that p = 1.

The argument

¬p → F0
p

is a valid argument.

Figure 2.2.6: The “Rule of Contradiction” argument.

We essentially get the argument

(¬p → F0) → p

Notice that since there is only one premise

p1: ¬p → 0,

(where we replace the general contradiction F0 with it’s truth value of 0) we don’t have any conjunction operators present. We verify this argument is valid with the following truth table by noting that the last column consists entirely of 1s (same as always.)

p1p1 → c
p¬p¬p → 0[¬p → 0] → p
0101
1011

The argument

[¬p → F0] → p

is commonly known as the “Rule of Contradiction.”

A Big List of the Rules of Inference

We have presented five different kinds of arguments. These, arguments are commonly referred to as rules of inference because they allow you to infer, or deduce, a conclusion given a list of premises.

There are many more kinds of these rules of inference, and we present a sample of such rules of inference below.

p
p → q
q

[(p) ∧ (p → q)] ⟹ (q)

Modus Ponens
(Rule of Detachment)

p → q
¬q
¬p

[(p → q) ∧ (¬q)] ⟹ (¬p)

Modus Tollens

p → q
q → r
p → r

[(p → q) ∧ (q → r)] ⟹ (p → r)

Law of the Syllogism

p
q
p ∧ q

[(p) ∧ (q)] ⟹ (p ∧ q)

Rule of Conjunction

p ∨ q
¬q
p

[(p ∨ q) ∧ (¬q)] ⟹ (p)

Rule of Disjunctive Syllogism

¬p → F0
p

[(¬p → F0)] ⟹ (p)

Rule of Contradiction

p ∧ q
p

[(p ∧ q)] ⟹ (p)

Rule of Conjunctive Simplification

p
p ∨ q

[(p)] ⟹ (p ∨ q)

Rule of Disjunctive Amplification

p ∧ q
p → (q → r)
r

[(p ∧ q) ∧ (p → (q → r))] ⟹ (r)

Rule of Conditional Proof

p → r
q → r
(p ∨ q) → r

[(p → r) ∧ (q → r)] ⟹ ((p ∨ q) → r)

Rule of Proof by Cases

p → q
r → s
p ∨ r
q ∨ s

[(p → q) ∧ (r → s) ∧ (p ∨ r)] ⟹ (q ∨ s)

Rule of the Constructive Dilemma

p → q
r → s
¬q ∨ ¬s
¬p ∨ ¬r

[(p → q) ∧ (r → s) ∧ (¬q ∨ ¬s)] ⟹ (¬p ∨ ¬r)

Rule of the Destructive Dilemma

Rules of Inference ≠ Logical Equivalencies

Before we see how these rules of inference can be used, it’s important to take a step back to see what we’ve accomplished, but perhaps more importantly to see what we have not accomplished.

Notice that each of these rules of inference are logical implications. This is demonstrated by the fact that we used the single arrow ⟹ as opposed to the double arrow ⟺. Indeed, while some of the above arguments may contain logical equivalencies (such as the Law of Conjunction), most of these are not logical equivalencies.

For instance, examining the Law of the Syllogism, we have that

[(p → q) ∧ (q → r)] ⟹ (p → r).

However, note that when p = r = 0, and q = 1, we have that

(p → q) = 1
(q → r) = 0
(p → r) = 1

but

(p → q) ∧ (q → r) = 1 ∧ 0 = 0.

Hence, we have that

[(p → q) ∧ (q → r)] ⇐/⇒ (p → r).

As such, we have not shown that the expression [(p → q) ∧ (q → r)] can be replaced with the simpler expression (p → r). This is a subtle difference, but nonetheless an important difference.

We will see in the next section that both logical equivalencies and logical implications can be used in the development of arguments, but logical implications will not be helpful when trying to simplify complicated logical expressions.