The hypothesis covers everything below k+1
You may use any of P(n₀) through P(k), and you need not know in advance which.
When P(k+1) depends on cases further back than P(k), ordinary induction gives you the wrong hypothesis. Strong induction assumes all of P(n₀), …, P(k) and is exactly as valid.
Core ideas
Strong induction is not a stronger technique. It is a more convenient hypothesis for claims whose step does not reach back exactly one step.
You may use any of P(n₀) through P(k), and you need not know in advance which.
Apply ordinary induction to Q(n) = "P(m) holds for all n₀ ≤ m ≤ n" and strong induction falls out. Neither proves more than the other.
If the step reaches back two places, two base cases are required — otherwise the step at k+1 = n₀+1 has nothing to stand on.
The material
Statement, the two standard applications, and the base-case trap.
Let P(n) be a statement about n ≥ n₀. If P(n₀) holds and, for every k ≥ n₀, the truth of P(n₀), …, P(k) implies P(k+1), then P(n) holds for all n ≥ n₀.
Nothing is gained in strength. Define Q(n) to be "P(m) holds for all n₀ ≤ m ≤ n". Ordinary induction applied to Q gives exactly strong induction for P. What is gained is a hypothesis that matches the shape of certain arguments.
Every integer greater than 1 can be written as a product of one or more primes.
Base. 2 is prime, so it is a product of one prime.
Step. Let k ≥ 2 and assume every integer from 2 to k is a product of primes. Consider k+1.
If k+1 is prime, it is a product of one prime and we are done. Otherwise k+1 = ab with 2 ≤ a, b ≤ k. By the strong hypothesis both a and b are products of primes, so their product k+1 is too.
□
Ordinary induction is useless here. Knowing that k factors says nothing about k+1, and the factors a and b could be anywhere below k+1. The hypothesis has to cover them all, and only strong induction provides that.
For every n ≥ 8 there are non-negative integers a, b with n = 3a + 5b.
Bases. 8 = 3 + 5, 9 = 3 + 3 + 3, 10 = 5 + 5. Three base cases are needed because the step reaches back three places.
Step. Let k ≥ 10 and assume the claim for every value from 8 to k. Then k + 1 − 3 = k − 2 ≥ 8, so by the hypothesis k − 2 is expressible; adding one 3¢ stamp expresses k+1.
□
Three base cases, because the step goes back three. Providing only n = 8 would leave the step at k+1 = 9 and k+1 = 10 appealing to 6 and 7, which are outside the claim — and indeed 7 cannot be made at all. Counting the base cases correctly is the whole difficulty of this style of proof.
Strong induction is the natural partner of a recursive definition whose recursive calls are not on n − 1. Merge sort splits at n/2; binary search halves; the Fibonacci recurrence reaches back two. In every case the correctness proof needs a hypothesis covering all smaller values, which is what “Recursive Algorithms and Correctness” does.
Proving a property of Fₙ = Fₙ₋₁ + Fₙ₋₂ requires both Fₙ₋₁ and Fₙ₋₂, so it needs two base cases and a hypothesis covering two steps back. Attempting it with ordinary induction leaves Fₙ₋₂ unavailable.
Interactive
Two of these statements are false
Method
Count how far the step reaches, then supply that many base cases.
If P(k+1) follows from P(k) alone, use ordinary induction. Reaching for the stronger hypothesis unnecessarily obscures what the proof used.
"Assume P(m) for every m with n₀ ≤ m ≤ k." Writing it out is what keeps you from using a case outside the range.
The postage step used k − 2, three places back, so three base cases were needed. Miscounting here is the standard error.
Each one individually. A base case you assumed rather than checked is a hole at exactly the place the step cannot cover.
The step will reach back four, so four base cases are needed.
The largest amount that cannot be made from 4 and 5 is 11, which is the Frobenius number of the pair. For coprime a and b it is always ab − a − b, here 20 − 4 − 5 = 11 — which is why the claim starts at 12 and not somewhere else.
Prove that every n ≥ 18 can be made from 4¢ and 7¢ stamps. Work out how far back your step reaches before writing any base case, and check that the number of bases matches.
Something to change about this lesson? Write it down, tick it off when it is handled, and export the list when you want to act on it. Kept in this browser only: nothing is sent anywhere, and nobody is notified.
No recommendations yet for this lesson.