WHILE ALL PROOFS are of the form IF...THEN, many have more complicated manifestations. The most basic proof has the form

IF *A* THEN *B* or

*A* IMPLIES *B* or

*A* *B*

which was explored in Section 1. This means that whenever
The term ``if and only if'' is really a code word for equivalence. To
prove a theorem of this form, you must prove that *A* and *B* are
equivalent; that is, not only is *B* true whenever *A* is true, but *A* is
true whenever *B* is true. ``If and only if'' is meant to be interpreted
as follows:

A IF B |
means | IF B THEN A |

A ONLY IF B |
means | IF NOT B THEN NOT A |

It is a logical law that IF *A* THEN *B* is always equivalent to
IF NOT *B* THEN NOT *A* (this is called the contrapositive, and
is the basis to proof by contrapositive), so *A* ONLY IF *B* is
equivalent to IF *A* THEN *B* as well.

When proving an IF AND ONLY IF proof directly, you must make sure that the equivalence you are proving holds in all steps of the proof. This means that each step in the proof must use either a definition that is IF AND ONLY IFor a theorem that is IF AND ONLY IF. Using a less rigorous IF...THEN statement in one of your steps will invalidate your proof.

Making sure all the steps in your theorem obey this restriction is
usually difficult and often impossible. Therefore it is much more
common to use an alternate proof method: we physically **break an
IF AND ONLY IF proof into two proofs**, the ``forwards'' and ``backwards''
proofs. To prove a theorem of the form *A* IF AND ONLY IF *B*, you first
prove IF *A* THEN *B*, then you prove IF *B* THEN *A*, and
that's enough to complete the proof. Using this technique, you can
use IF...THEN proofs as well as IF AND ONLY IF proofs in your own proof.

- In this direction we assume
and
try to prove is an integer. Note that
. Since
(by
assumption), then
as well by the sandwich
theorem. Since
is an integer, must be as
well.
- Now we assume is an integer and try to prove that . If is an integer, then and (by definition of both terms), so as well.