Mathematical Writing - Vivaldi Franco 2014
Proof by Contrapositive
Forms of Argument
In Sect. 4.2 we saw that every implication
is equivalent to its contrapositive
: they are both true or both false for any value of
and
. This equivalence gives us a method for proving implications, called proof by contrapositive, which is a useful alternative to a direct proof. To prove by contrapositive that
If
then
,
we prove instead that
If not
then not
,
that is, we assume that
is false and then deduce that
is false .
A proof by contrapositive is structurally identical to a direct proof, only the predicates are different. Thus in place of (7.2) we consider the statement
![]()
(7.3)
In forming the contrapositive we haven’t altered the quantifier; we have merely replaced a boolean function with an equivalent function, much like replacing
with
.
How do we decide between a direct proof and a proof by contrapositive? We must compare the assumptions
and
, and decide which of the two is easier to handle. Sometimes it’s necessary to try both approaches to find out. The following examples show the reasoning behind such decisions.
EXAMPLE. Consider the statement
![]()
(7.4)
The assumption
is problematic, because its value is not easily computable. By contrast,
is straightforward, and the contrapositive implication
![]()
(7.5)
involves checking that the boolean expression
is true for only three values of
.
PROOF. We only have to check three cases:
·
: ![]()
·
: ![]()
·
:
.
Thus the expression (7.5) is true, and the proof is complete. ![]()
EXAMPLE. Consider the statement
If the average of four distinct integers is equal to 10, then one of the integers is greater than 11.
The direct implication involves an assumption on an average value, which entails loss of information; the contrapositive implication involves four integers of bounded size. We opt for the latter, which seems easier.
Given four distinct integers not greater than 11, their average is not equal to 10.
PROOF. Let four distinct integers be given. If none of them exceeds 11, then the largest value their sum can assume is
. So the largest possible average is

as desired. ![]()