• Keine Ergebnisse gefunden

2. A closer look at induction

2.8. Strong induction

n2m+1

=n2(m+1) =n(m+2)+m (since 2(m+1) = (m+2) +m)

=nm+2nm, so thatnm+2 | n2m+1

.

We haven | n. Hence, Corollary 2.57 (applied to d = n) yields anbnmodnn.

In other words,an ≡bnmodn2 (sincenn =n2).

We have assumed that (88) holds for k =m. Hence, we can apply (88) to an, bn, n2 and minstead ofa, b, nand k (sinceanbnmodn2). We thus conclude that

(an)nm ≡(bn)nmmod

n2m+1

. Now,nm+1=nnm, so that

anm+1 = annm = (an)nm ≡(bn)nm =bnnm =bnm+1mod

n2m+1

(since nnm = nm+1). Hence, Proposition 2.11(c) (applied to anm+1, bnm+1, n2m+1

and nm+2 instead of a, b, n and m) yields anm+1 ≡ bnm+1modnm+2 (since nm+2 | n2m+1

). In view ofm+2 = (m+1) +1, this rewrites as anm+1 ≡bnm+1modn(m+1)+1.

Now, forget that we fixed n, aand b. We thus have proven that

anm+1 ≡ bnm+1modn(m+1)+1 for all integers a and b and all n ∈ N satisfying a ≡ bmodn. In other words, (88) holds for k = m+1. This completes the induction step. Thus, (88) is proven by induction. Hence, Corollary 2.59 is proven again.

2.8. Strong induction

2.8.1. The strong induction principle

We shall now show another “alternative induction principle”, which is known as thestrong induction principlebecause it feels stronger than Theorem 2.1 (in the sense that it appears to get the same conclusion from weaker assumptions). Just as Theo-rem 2.53, this principle is not a new axiom, but rather a consequence of the standard induction principle; we shall soon deduce it from Theorem 2.53.

Theorem 2.60. Let g∈ Z. For eachn ∈Zg, let A(n)be a logical statement.

Assume the following:

Assumption 1: Ifm ∈Zg is such that

A(n) holds for every n∈ Zg satisfyingn <m , then A(m) holds.

Then, A(n) holds for eachn ∈Zg.

Notice that Theorem 2.60 has only one assumption (unlike Theorem 2.1 and Theorem 2.53). We shall soon see that this one assumption “incorporates” both an induction base and an induction step.

Let us first explain why Theorem 2.60 is intuitively clear. For example, if you have g =4, and you want to prove (under the assumptions of Theorem 2.60) that A(7) holds, you can argue as follows:

• We know that A(n) holds for every n ∈ Z4 satisfying n < 4. (Indeed, this is vacuously true, since there is non ∈Z4 satisfyingn <4.)

Hence, Assumption 1 (applied to m = 4) shows that the statement A(4) holds.

• Thus, we know that A(n) holds for every n ∈ Z4 satisfyingn <5 (because A(4) holds).

Hence, Assumption 1 (applied to m = 5) shows that the statement A(5) holds.

• Thus, we know that A(n) holds for every n ∈ Z4 satisfyingn <6 (because A(4) andA(5) hold).

Hence, Assumption 1 (applied to m = 6) shows that the statement A(6) holds.

• Thus, we know that A(n) holds for every n ∈ Z4 satisfyingn <7 (because A(4), A(5) and A(6) hold).

Hence, Assumption 1 (applied to m = 7) shows that the statement A(7) holds.

A similar (but longer) argument shows that the statementA(8) holds; likewise, A(n)can be shown to hold for each n ∈ Zg by means of an argument that takes n−g+1 steps.

It is easy to see that Theorem 2.60 generalizes Theorem 2.53 (because if the two Assumptions 1 and 2 of Theorem 2.53 hold, then so does Assumption 1 of Theorem 2.60). More interesting for us is the converse implication: We shall show that Theorem 2.60 can be derived from Theorem 2.53. This will allow us to use Theorem 2.60 without having to taking it on trust.

Before we derive Theorem 2.60, let us restate Theorem 2.53 as follows:

Corollary 2.61. Let g ∈Z. For each n∈ Zg, let B(n) be a logical statement.

Assume the following:

Assumption A:The statement B(g) holds.

Assumption B:If p∈ Zgis such that B(p) holds, thenB(p+1)also holds.

Then, B(n) holds for eachn ∈Zg.

Proof of Corollary 2.61. Corollary 2.61 is exactly Theorem 2.53, except that some names have been changed:

• The statements A(n) have been renamed asB(n).

• Assumption 1 and Assumption 2 have been renamed as Assumption A and Assumption B.

• The variable min Assumption B has been renamed as p.

Thus, Corollary 2.61 holds (since Theorem 2.53 holds).

Let us now derive Theorem 2.60 from Theorem 2.53:

Proof of Theorem 2.60. For each n∈ Zg, we let B(n) be the statement A(q) holds for every q∈ Zg satisfyingq<n

.

Now, let us consider the Assumptions A and B from Corollary 2.61. We claim that both of these assumptions are satisfied.

The statementB(g)holds65. Thus, Assumption A is satisfied.

Next, let us prove that Assumption B is satisfied. Indeed, let p ∈ Zg be such thatB(p)holds. We shall show that B(p+1) also holds.

Indeed, we have assumed thatB(p) holds. In other words,

A(q) holds for everyq ∈ Zg satisfying q< p (89) (because the statement B(p) is defined as

A(q) holds for every q∈ Zgsatisfying q< p

). Renaming the variableqasnin this statement, we conclude that

A(n) holds for everyn ∈Zg satisfyingn <p. (90) Hence, Assumption 1 (applied tom= p) yields thatA(p)holds.

Now, we claim that

A(q) holds for every q ∈Zg satisfyingq <p+1. (91) [Proof of (91): Let q ∈ Zg be such that q < p+1. We must prove that A(q) holds.

65Proof.LetqZ≥gbe such thatq<g. Then,qg(sinceqZ≥g); but this contradictsq<g.

Now, forget that we fixedq. We thus have found a contradiction for eachqZ≥gsatisfying q<g. Hence, there exists noqZ≥gsatisfyingq<g. Thus, the statement

A(q) holds for everyqZ≥gsatisfyingq<g

is vacuously true, and therefore true. In other words, the statementB(g)is true (sinceB(g)is defined as the statement A(q) holds for everyqZ≥gsatisfyingq<g

). Qed.

If q = p, then this follows from the fact that A(p) holds. Hence, for the rest of this proof, we WLOG assume that we don’t have q = p. Thus, q 6= p. But q < p+1 and therefore q ≤ (p+1)−1 (since q and p+1 are integers). Hence, q ≤ (p+1)−1 = p. Combining this with q 6= p, we obtain q < p. Hence, (89) shows that A(q) holds. This completes the proof of (91).]

But the statement B(p+1) is defined as

A(q) holds for every q∈ Zgsatisfying q< p+1

. In other words, the state-mentB(p+1)is precisely the statement (91). Hence, the statementB(p+1)holds (since (91) holds).

Now, forget that we fixed p. We thus have shown that if p ∈ Zg is such that B(p) holds, then B(p+1) also holds. In other words, Assumption B is satisfied.

We now know that both Assumption A and Assumption B are satisfied. Hence, Corollary 2.61 shows that

B(n) holds for each n∈ Zg. (92) Now, letn∈ Zg. Thus,nis an integer such thatn≥g(by the definition ofZg).

Hence, n+1 is also an integer and satisfies n+1 ≥ n ≥ g, so that n+1 ∈ Zg. Hence, (92) (applied to n+1 instead of n) shows that B(n+1) holds. In other words,

A(q) holds for everyq ∈Zg satisfyingq <n+1 (because the statement B(n+1) is defined as

A(q) holds for every q∈ Zgsatisfying q<n+1

). We can apply this to q = n (because n∈ Zg satisfies n<n+1), and conclude that A(n)holds.

Now, forget that we fixed n. We thus have shown that A(n) holds for each n∈ Zg. This proves Theorem 2.60.

Thus, proving a sequence of statements A(0),A(1),A(2), . . . using Theorem 2.60 is tantamount to proving a slightly different sequence of statements

B(0),B(1),B(2), . . . using Corollary 2.61 and then deriving the former from the latter.

Theorem 2.53 is called the principle of strong induction starting at g, and proofs that use it are usually called proofs by strong induction. We illustrate its use on the following easy property of the Fibonacci sequence:

Proposition 2.62. Let (f0, f1, f2, . . .)be the Fibonacci sequence (defined as in Ex-ample 2.25). Then,

fn ≤2n1 (93)

for each n∈ N.

Proof of Proposition 2.62. For eachn ∈Z0, we letA(n)be the statement fn ≤2n1 . Thus, A(0) is the statement f0≤201

; hence, this statement holds (since f0 = 0≤201).

Also, A(1) is the statement f1 ≤211

(by the definition of A(1)); hence, this statement also holds (since f1 =1=211).

Now, we claim the following:

Claim 1: Ifm∈ Z0 is such that

(A(n) holds for everyn ∈Z0 satisfyingn <m), then A(m) holds.

[Proof of Claim 1: Let m∈ Z0 be such that

(A(n) holds for every n∈ Z0 satisfyingn<m). (94) We must prove thatA(m) holds.

This is true ifm∈ {0, 1} (because we have shown that both statementsA(0) and A(1) hold). Thus, for the rest of the proof of Claim 1, we WLOG assume that we don’t havem ∈ {0, 1}. Hence, m∈ N\ {0, 1} ={2, 3, 4, . . .}, so thatm ≥2.

From m ≥ 2, we conclude that m−121 = 1 ≥ 0 and m222 = 0.

Thus, bothm−1 andm−2 belong toN; therefore, fm1and fm2are well-defined.

We have m−1 ∈ N =Z0 and m−1 < m. Hence, (94) (applied to n = m−1) yields thatA(m−1)holds. In other words, fm1≤2(m1)−1 (because this is what the statementA(m−1) says).

We have m−2 ∈ N =Z0 and m−2 < m. Hence, (94) (applied to n = m−2) yields thatA(m−2)holds. In other words, fm2≤2(m2)−1 (because this is what the statementA(m−2) says).

We have(m−1)−1=m−2 and thus 2(m1)−1=2m2 =2·2(m2)−1≥2(m2)−1 (since 2·2(m2)−12(m2)−1 =2(m2)−1≥0). Hence, 2(m2)−12(m1)−1.

But the recursive definition of the Fibonacci sequence yields fm = fm1+ fm2

(sincem≥2). Hence, fm = fm1

| {z }

2(m−1)−1

+ fm2

| {z }

2(m−2)−12(m−1)−1

≤2(m1)−1+2(m1)−1 =2·2(m1)−1 =2m1.

In other words, the statementA(m) holds (since the statementA(m) is defined to be fm ≤2m1

). This completes the proof of Claim 1.]

Claim 1 shows that Assumption 1 of Theorem 2.60 (applied tog =0) is satisfied.

Hence, Theorem 2.60 (applied to g =0) shows that A(n) holds for eachn ∈ Z0. In other words, fn ≤ 2n1 holds for each n ∈ Z0 (since the statement A(n) is defined to be fn ≤2n1

). In other words, fn ≤2n1 holds for each n ∈ N(since Z0 =N). This proves Proposition 2.62.

2.8.2. Conventions for writing strong induction proofs

Again, when using the principle of strong induction, one commonly does not di-rectly cite Theorem 2.60; instead one uses the following language:

Convention 2.63. Let g∈ Z. For eachn ∈ Zg, let A(n) be a logical statement.

Assume that you want to prove that A(n) holds for each n∈ Zg.

Theorem 2.60 offers the following strategy for proving this: Show that As-sumption 1 of Theorem 2.60 is satisfied; then, Theorem 2.60 automatically com-pletes your proof.

A proof that follows this strategy is called a proof by strong induction on n starting at g. The proof that Assumption 1 is satisfied is called the induction step of the proof. This kind of proof does not have an “induction base” (unlike proofs that use Theorem 2.1 or Theorem 2.53).66

In order to prove that Assumption 1 is satisfied, you will usually want to fix an m ∈Zg such that

A(n) holds for everyn ∈Zg satisfyingn<m

, (95)

and then prove that A(m) holds. In other words, you will usually want to fix m ∈ Zg, assume that (95) holds, and then prove that A(m) holds. When doing so, it is common to refer to the assumption that (95) holds as theinduction hypothesis(orinduction assumption).

Using this language, we can rewrite our above proof of Proposition 2.62 as fol-lows:

Proof of Proposition 2.62 (second version). For eachn∈ Z0, we letA(n)be the state-ment fn2n1. Thus, our goal is to prove the statement A(n) for eachn ∈ N.

In other words, our goal is to prove the statement A(n) for each n ∈ Z0 (since N=Z0).

We shall prove this by strong induction onnstarting at 0:

Induction step: Let m∈ Z0. Assume that

(A(n) holds for every n∈ Z0 satisfyingn<m). (96) We must then show that A(m) holds. In other words, we must show that fm ≤ 2m1 holds (since the statementA(m) is defined as fm ≤2m1

).

This is true ifm =0 (since f0 =0 ≤201) and also true if m=1 (since f1 =1= 211 and thus f1211). In other words, this is true if m ∈ {0, 1}. Thus, for the rest of the induction step, we WLOG assume that we don’t havem ∈ {0, 1}. Hence, m∈ {/ 0, 1}, so that m∈ N\ {0, 1}={2, 3, 4, . . .}. Hence,m ≥2.

From m ≥ 2, we conclude that m−121 = 10 and m−222 = 0.

Thus, bothm−1 andm−2 belong toN; therefore, fm1and fm2are well-defined.

We have m−1 ∈ N =Z0 and m−1 < m. Hence, (96) (applied to n =m−1) yields thatA(m−1)holds. In other words, fm1≤2(m1)−1 (because this is what the statementA(m−1) says).

66There is a version of strong induction which does include an induction base (or even several). But the version we are using does not.

We have m−2 ∈ N =Z0 and m−2 < m. Hence, (96) (applied to n = m−2) yields thatA(m−2)holds. In other words, fm2≤2(m2)−1 (because this is what the statementA(m−2) says).

We have(m−1)−1=m−2 and thus 2(m1)−1=2m2 =2·2(m2)−1≥2(m2)−1 (since 2·2(m2)−1−2(m2)−1 =2(m2)−1≥0). Hence, 2(m2)−1≤2(m1)−1.

But the recursive definition of the Fibonacci sequence yields fm = fm1+ fm2

(sincem≥2). Hence, fm = fm1

| {z }

2(m−1)−1

+ fm2

| {z }

2(m−2)−12(m−1)−1

2(m1)−1+2(m1)−1 =2·2(m1)−1 =2m1.

In other words, the statementA(m) holds (since the statementA(m) is defined to be fm2m1).

Now, forget that we fixed m. We thus have shown that if m ∈ Z0 is such that (96) holds, thenA(m) holds. This completes the induction step. Hence, by strong induction, we conclude that A(n) holds for each n ∈ Z0. This completes our proof of Proposition 2.62.

The proof that we just showed still has a lot of “boilerplate” text that conveys no information. For example, we have again explicitly defined the statement A(n), which is unnecessary: This statement is exactly what one would expect (namely, the claim that we are proving, without the “for each n ∈ N” part). Thus, in our case, this statement is simply (93). Furthermore, we can remove the two sentences

“Now, forget that we fixed m. We thus have shown that if m ∈ Z0 is such that (96) holds, then A(m) holds.”.

In fact, these sentences merely say that we have completed the induction step; but this is clear anyway when we say that the induction step is completed.

We said that we are proving our statement “by strong induction onn starting at 0”. Again, we can omit the words “starting at 0” here, since this is the only option (because our statement is about all n∈ Z0).

Finally, we can remove the words “Induction step:”, because a proof by strong induction (unlike a proof by standard induction) does not have an induction base (so the induction step is all that it consists of).

Thus, our above proof can be shortened to the following:

Proof of Proposition 2.62 (third version). We shall prove (93) by strong induction on n:

Let m ∈ Z0. Assume that (93) holds for every n ∈ Z0 satisfying n < m. We must then show that (93) holds for n = m. In other words, we must show that

fm ≤2m1holds.

This is true ifm =0 (since f0 =0 ≤201) and also true if m=1 (since f1 =1= 211 and thus f1 ≤ 211). In other words, this is true if m ∈ {0, 1}. Thus, for the

rest of the induction step, we WLOG assume that we don’t havem ∈ {0, 1}. Hence, m∈ {/ 0, 1}, so that m∈ N\ {0, 1}={2, 3, 4, . . .}. Hence,m ≥2.

From m ≥ 2, we conclude that m−121 = 1 ≥ 0 and m222 = 0.

Thus, bothm−1 andm−2 belong toN; therefore, fm1and fm2are well-defined.

We have m−1 ∈ N =Z0 and m−1 < m. Hence, (93) (applied to n = m−1) yields that fm1 ≤ 2(m1)−1 (since we have assumed that (93) holds for every n ∈ Z0 satisfyingn<m).

We have m−2 ∈ N =Z0 and m−2 < m. Hence, (93) (applied to n = m−2) yields that fm2 ≤ 2(m2)−1 (since we have assumed that (93) holds for every n ∈ Z0 satisfyingn<m).

We have(m−1)−1=m−2 and thus 2(m1)−1=2m2 =2·2(m2)−1≥2(m2)−1 (since 2·2(m2)−12(m2)−1 =2(m2)−1≥0). Hence, 2(m2)−12(m1)−1.

But the recursive definition of the Fibonacci sequence yields fm = fm1+ fm2

(sincem≥2). Hence, fm = fm1

| {z }

2(m−1)−1

+ fm2

| {z }

2(m−2)−12(m−1)−1

≤2(m1)−1+2(m1)−1 =2·2(m1)−1 =2m1.

In other words, (93) holds forn =m. This completes the induction step. Hence, by strong induction, we conclude that (93) holds for eachn ∈Z0. In other words, (93) holds for each n ∈ N (since Z0 = N). This completes our proof of Proposition 2.62.