Strong Induction

Suppose you want to prove that every integer greater than 1 is a product of primes. Ordinary induction stumbles here. Knowing that nn factors into primes tells you nothing directly about n+1n+1. This is because n+1n+1 shares no obvious arithmetic relationship with nn. What you really want to assume is different. You need every number smaller than n+1n+1 — not just nn — to already factor into primes. Then you can split n+1n+1 apart using whichever factorization is convenient. This is the idea behind strong induction: instead of a single stepping stone, you get to stand on the entire staircase built so far. Strong induction matters because many natural recursive structures do not decompose simply. Numbers built from their divisors, trees built from subtrees, terms built from subterms — these do not decompose into a problem one step smaller. Instead, they decompose into problems of arbitrary smaller size. The proof technique that only remembers "the case just before" is too weak to reach these. The proof technique that remembers "every case before" is exactly strong enough. This makes strong induction indispensable in number theory (unique factorization), combinatorics (counting recursively defined structures), computer science (correctness of recursive algorithms and recursive data types), and logic (well-formed formulas, derivations in a formal system). The big picture is that strong induction is not a different axiom from ordinary induction. It is a derived technique, provable from the ordinary Mathematical Induction principle. Equivalently, it follows from the Well-Ordering Principle on N\mathbb{N}. This is a crucial conceptual point: strong induction feels more powerful. But it is logically equivalent in strength to ordinary induction over the natural numbers. What changes is not what can be proved, but how naturally certain proofs can be organized. This article gives the precise statement of strong induction. It includes a complete proof that it follows from ordinary induction. It also gives two fully worked examples showing why the extra hypothesis strength is genuinely needed. There is a counterexample showing what fails if you drop a hypothesis. Finally, it discusses where the principle is used across mathematics and computer science.

Key takeaways
  • Strong induction lets you assume the statement holds for all smaller cases, not just the immediately preceding one.
  • It is logically equivalent to ordinary induction over N\mathbb{N} — neither is "more powerful" in terms of what's provable.
  • It is proved by applying ordinary induction to an auxiliary statement: "PP holds for all k≤nk \le n."
  • It shines when the recursive step needs a non-adjacent smaller case, e.g. splitting n=abn = ab with a,b<na, b < n.
  • The base case(s) must still be handled explicitly — strong induction does not eliminate them, and getting the range wrong is the classic error.
  • Key idea: strong induction trades "the last stair" for "the whole staircase," turning induction into a tool for divide-and-conquer style recursive arguments.

Where this lives today

Strong induction is the workhorse behind unique factorization and its generalizations in algebra (existence of factorizations in any Noetherian ring, existence of prime factorizations in principal ideal domains). In combinatorics, it justifies formulas for recursively defined sequences and structures where the recursion is not a simple shift, such as recurrences ana_n depending on several or all previous terms (partition numbers, Catalan-type recursions, dynamic programming recurrences). In computer science, strong induction is the standard tool for proving correctness and termination of recursive algorithms that divide a problem into pieces of varying smaller sizes — merge sort, quicksort, binary search trees, and any divide-and-conquer algorithm — as well as for structural induction on recursively defined data types like trees and terms in a formal grammar, where a node's children can be of arbitrary smaller "size." In mathematical logic, strong induction underlies proofs by induction on the complexity of well-formed formulas and derivations in formal proof systems, where a compound formula's immediate subformulas are of strictly smaller complexity but not related by a "minus one" pattern. In cryptography and algorithm analysis, strong induction justifies correctness proofs of recursive number-theoretic algorithms such as the extended Euclidean algorithm and fast modular exponentiation. It also connects directly forward to the Well-Ordering Principle: proofs "by minimal counterexample," ubiquitous in advanced number theory and combinatorics, are a stylistic variant of strong induction, and the equivalence between the two is itself a standard exercise built on the machinery developed here.

:::quiz[In the strong inductive step "∀n≥n0, [∀k (n0≤k<n⇒P(k))]⇒P(n)\forall n \ge n_0,\ [\forall k\,(n_0 \le k < n \Rightarrow P(k))] \Rightarrow P(n)", what happens when n=n0n = n_0?]

  • The step is undefined at n0n_0 and must be excluded
  • The antecedent is vacuously true, so the step forces P(n0)P(n_0) to hold outright ✓
  • The antecedent is always false at n0n_0, so nothing is proved
  • P(n0)P(n_0) must be assumed separately and cannot come from the step

Ask the tutor: Can you show me why "proof by minimal counterexample" using the Well-Ordering Principle is logically the same technique as strong induction?

DefinitionStrong Induction (Second Principle of Mathematical Induction)

Let P(n)P(n) be a predicate defined for natural numbers n≥n0n \ge n_0 (for some fixed base value n0∈Nn_0 \in \mathbb{N}, typically 00 or 11). Suppose:

(Strong Inductive Step). For every n≥n0n \ge n_0,

[ ∀k∈N with n0≤k<n, P(k) ]   ⟹   P(n).\Big[\, \forall k \in \mathbb{N} \text{ with } n_0 \le k < n,\ P(k) \,\Big] \ \implies\ P(n).

Then P(n)P(n) holds for all n≥n0n \ge n_0. Equivalently, writing the hypothesis explicitly as a conjunction over a range: if for every n≥n0n \ge n_0,

P(n0)∧P(n0+1)∧⋯∧P(n−1)   ⟹   P(n),P(n_0) \wedge P(n_0+1) \wedge \cdots \wedge P(n-1) \ \implies\ P(n),

then ∀n≥n0, P(n)\forall n \ge n_0,\ P(n). Note that when n=n0n = n_0, the hypothesis "P(k)P(k) for all n0≤k<n0n_0 \le k < n_0" is vacuously true (there are no such kk), so the strong inductive step must, in particular, establish P(n0)P(n_0) outright. This is why strong induction appears to need no separate base case — the base case is smuggled into the n=n0n = n_0 instance of the step — though in practice it is nearly always clearer to verify P(n0)P(n_0) (and sometimes several small cases) by hand before beginning the general step.

Intuition

Ordinary induction is a line of dominoes: knocking over domino nn knocks over domino n+1n+1, so one push starting the chain topples everything. Strong induction is better pictured as a wall being built course by course, where laying brick nn is allowed to rest on any combination of bricks already laid — not only the brick directly beneath it. This matters when the "natural" decomposition of nn does not point at n−1n - 1 at all. Factoring 12=3×412 = 3 \times 4 points at 33 and 44, both far below 1111; a recursive algorithm computing Fibonacci-like sequences with a jump, or parsing a syntax tree, routinely needs to reach back to an arbitrary earlier stage, not merely the previous one. The key logical fact — proved in the theorem below — is that this apparent extra power is an illusion at the level of what can be proved: strong induction is derivable from ordinary induction by a simple trick, running ordinary induction not on PP itself but on the auxiliary statement "PP holds for every value up to and including nn." The strength gained is purely one of bookkeeping convenience: you get to reach for whichever earlier case you like, instead of being forced to relate nn only to n−1n-1.

TheoremEquivalence of Strong Induction with Ordinary Induction

Let n0∈Nn_0 \in \mathbb{N} and let P(n)P(n) be a predicate defined for all integers n≥n0n \ge n_0. Assume the Principle of Mathematical Induction (ordinary induction) holds for predicates on {n0,n0+1,n0+2,… }\{n_0, n_0+1, n_0+2, \dots\}: for any predicate QQ,

[Q(n0)∧∀n≥n0 (Q(n)⇒Q(n+1))]  ⟹  ∀n≥n0 Q(n).\big[Q(n_0) \wedge \forall n \ge n_0\,(Q(n) \Rightarrow Q(n+1))\big] \implies \forall n \ge n_0\, Q(n).

Suppose PP satisfies the strong inductive step:

∀n≥n0,[∀k (n0≤k<n⇒P(k))]  ⟹  P(n).(∗)\forall n \ge n_0,\quad \big[\forall k\ (n_0 \le k < n \Rightarrow P(k))\big] \implies P(n). \tag{$\ast$}

Then ∀n≥n0, P(n)\forall n \ge n_0,\ P(n).

Proof

Technique: reduction to ordinary induction via an auxiliary "cumulative" predicate. Define, for each n≥n0n \ge n_0, the auxiliary predicate

Q(n):∀k (n0≤k≤n⇒P(k)).Q(n) : \quad \forall k \ (n_0 \le k \le n \Rightarrow P(k)).

In words, Q(n)Q(n) asserts that PP holds for every value from n0n_0 up to nn, inclusive. We prove ∀n≥n0, Q(n)\forall n \ge n_0,\ Q(n) by ordinary induction on nn, and then observe that this suffices.

Step 1: Base case for QQ. We must show Q(n0)Q(n_0), i.e. ∀k (n0≤k≤n0⇒P(k))\forall k\,(n_0 \le k \le n_0 \Rightarrow P(k)), which reduces to showing P(n0)P(n_0). To get P(n0)P(n_0), instantiate the strong inductive step (∗)(\ast) at n=n0n = n_0:

[∀k (n0≤k<n0⇒P(k))]  ⟹  P(n0).\big[\forall k\ (n_0 \le k < n_0 \Rightarrow P(k))\big] \implies P(n_0).

The hypothesis ∀k (n0≤k<n0⇒P(k))\forall k\,(n_0 \le k < n_0 \Rightarrow P(k)) is vacuously true, since there is no integer kk satisfying n0≤k<n0n_0 \le k < n_0 (the condition k<n0k < n_0 together with k≥n0k \ge n_0 is contradictory). A conditional with a vacuously true (indeed, vacuously satisfied — the universally quantified statement over an empty domain) antecedent is true, and modus ponens then gives P(n0)P(n_0) directly from (∗)(\ast). Hence Q(n0)Q(n_0) holds.

Step 2: Inductive step for QQ. Fix an arbitrary n≥n0n \ge n_0 and assume Q(n)Q(n), i.e.

∀k (n0≤k≤n⇒P(k)).(IH)\forall k\ (n_0 \le k \le n \Rightarrow P(k)). \tag{IH}

We must show Q(n+1)Q(n+1), i.e. ∀k (n0≤k≤n+1⇒P(k))\forall k\,(n_0 \le k \le n+1 \Rightarrow P(k)). Let kk be arbitrary with n0≤k≤n+1n_0 \le k \le n+1. There are two cases.

  • Case k≤nk \le n. Then n0≤k≤nn_0 \le k \le n, so P(k)P(k) follows immediately from (IH).
  • Case k=n+1k = n+1. We must show P(n+1)P(n+1). Apply the strong inductive step (∗)(\ast) at the value n+1n+1:
[∀j (n0≤j<n+1⇒P(j))]  ⟹  P(n+1).\big[\forall j\ (n_0 \le j < n+1 \Rightarrow P(j))\big] \implies P(n+1).

The condition n0≤j<n+1n_0 \le j < n+1 is, since jj is an integer, equivalent to n0≤j≤nn_0 \le j \le n. By (IH), P(j)P(j) holds for every such jj. Hence the antecedent of the displayed conditional holds, and by modus ponens, P(n+1)P(n+1) holds. In both cases P(k)P(k) holds, so Q(n+1)Q(n+1) is established. This completes the inductive step for QQ.

Step 3: Apply ordinary induction. By Steps 1 and 2, Q(n0)Q(n_0) holds and ∀n≥n0 (Q(n)⇒Q(n+1))\forall n \ge n_0\,(Q(n) \Rightarrow Q(n+1)) holds. By the (assumed) Principle of Mathematical Induction applied to QQ on {n0,n0+1,… }\{n_0, n_0+1, \dots\}, we conclude

∀n≥n0, Q(n).\forall n \ge n_0,\ Q(n).

Step 4: Descend from QQ to PP. Fix any m≥n0m \ge n_0. By Step 3, Q(m)Q(m) holds, i.e. ∀k (n0≤k≤m⇒P(k))\forall k\,(n_0 \le k \le m \Rightarrow P(k)). Taking k=mk = m (which satisfies n0≤m≤mn_0 \le m \le m) gives P(m)P(m). Since m≥n0m \ge n_0 was arbitrary, ∀n≥n0, P(n)\forall n \ge n_0,\ P(n), as required. ■\blacksquare

∎
CorollaryStrong induction is not logically stronger than ordinary induction

Over the natural numbers, the class of predicates provable by strong induction from a strong inductive step is exactly the class of predicates provable by ordinary induction. Indeed the theorem shows strong induction is a theorem derived from ordinary induction (no new axiom is needed), and conversely ordinary induction is the special case of (∗)(\ast) in which one only ever uses the hypothesis P(n−1)P(n-1) and ignores P(k)P(k) for k<n−1k < n-1.

Worked examples

Example 1: Every integer n≥2n \ge 2 is a product of (one or more) primes. Here "product of primes" includes the degenerate case of a single prime (a product of one factor). We prove this by strong induction with n0=2n_0 = 2. Setup. Let P(n)P(n) be the statement "nn is a product of primes," for n≥2n \ge 2. Strong inductive step. Fix n≥2n \ge 2 and suppose, as the strong inductive hypothesis, that P(k)P(k) holds for every integer kk with 2≤k<n2 \le k < n. We must show P(n)P(n). Case A: nn is prime. Then nn is trivially a product of one prime (itself), so P(n)P(n) holds. Case B: nn is not prime. Since n≥2n \ge 2 and nn is not prime, by definition of "prime" there exist integers a,ba, b with n=abn = ab and 1<a<n1 < a < n, 1<b<n1 < b < n. (This uses the standard definition: an integer ≥2\ge 2 that is not prime has a nontrivial factorization; a full justification of why a non-prime ≥2\ge 2 has such a,ba,b is a short separate argument — take aa to be the smallest divisor of nn exceeding 11, and b=n/ab = n/a — but we take it as known here as it is not the inductive content.) Since 1<a<n1 < a < n and 1<b<n1 < b < n, both aa and bb lie in the range 2≤k<n2 \le k < n. By the strong inductive hypothesis, P(a)P(a) and P(b)P(b) both hold: a=p1p2⋯pra = p_1 p_2 \cdots p_r and b=q1q2⋯qsb = q_1 q_2 \cdots q_s for primes pi,qjp_i, q_j. Then

n=ab=p1p2⋯pr q1q2⋯qs,n = ab = p_1 p_2 \cdots p_r \, q_1 q_2 \cdots q_s,

a product of primes. So P(n)P(n) holds in this case too. In both cases P(n)P(n) holds, establishing the strong inductive step for all n≥2n \ge 2. (Note that at n=2n=2, the hypothesis "P(k)P(k) for 2≤k<22 \le k < 2" is vacuous, and Case A applies since 22 is prime — this is exactly the base case being absorbed into the general step, as guaranteed by the theorem.) By strong induction, P(n)P(n) holds for all n≥2n \ge 2: every integer n≥2n \ge 2 is a product of primes. ■\blacksquare This example is the paradigm case for strong induction: the factor aa could be any number strictly between 11 and nn — for instance if n=91=7×13n = 91 = 7 \times 13, the inductive step needs P(7)P(7) and P(13)P(13), neither of which is P(90)P(90). Ordinary induction, which only ever hands you P(n−1)=P(90)P(n-1) = P(90), is structurally the wrong tool: knowing 9090 factors into primes tells you nothing about how 9191 factors.

Example 2: The "postage stamp" problem — every integer n≥8n \ge 8 can be written as n=3a+5bn = 3a + 5b with a,b∈Z≥0a, b \in \mathbb{Z}_{\ge 0}. This models: using only 33-cent and 55-cent stamps, every postage amount from 88 cents up is achievable. Setup. Let P(n)P(n): "∃a,b∈Z≥0\exists a, b \in \mathbb{Z}_{\ge 0} with n=3a+5bn = 3a + 5b," for n≥8n \ge 8. Base cases (checked directly, three of them, since the recursive step below will reach back up to three steps).

  • n=8n = 8: 8=3(1)+5(1)8 = 3(1) + 5(1). ✓
  • n=9n = 9: 9=3(3)+5(0)9 = 3(3) + 5(0). ✓
  • n=10n = 10: 10=3(0)+5(2)10 = 3(0) + 5(2). ✓

Strong inductive step. Let n≥11n \ge 11 and suppose P(k)P(k) holds for every kk with 8≤k<n8 \le k < n — in particular, since n≥11n \ge 11, the value k=n−3k = n - 3 satisfies 8≤n−3<n8 \le n-3 < n, so the strong inductive hypothesis applies to it: P(n−3)P(n-3) holds. Thus there exist a′,b′≥0a', b' \ge 0 with

n−3=3a′+5b′.n - 3 = 3a' + 5b'.

Then

n=3(a′+1)+5b′,n = 3(a'+1) + 5b',

with a′+1≥1≥0a' + 1 \ge 1 \ge 0 and b′≥0b' \ge 0, so P(n)P(n) holds. By strong induction (with the three base cases 8,9,108,9,10 handled directly, covering all residues mod 33, and the step for n≥11n \ge 11 reaching back exactly 33), P(n)P(n) holds for all n≥8n \ge 8. ■\blacksquare This example illustrates a second common pattern: the inductive step reaches back a fixed distance (33, not 11), so more than one base case is required — precisely as many base cases as the reach, here three consecutive values 8,9,108, 9, 10, so that every larger nn can be reduced by repeated subtraction of 33 down into the base range. This is a case where the strong inductive step technically only needs one specific earlier value (P(n−3)P(n-3)), yet is naturally phrased using the full strength of strong induction because "one step back" (ordinary induction) does not align with the recursion at all.

CounterexampleDropping the requirement that the base case(s) actually be established

The theorem requires that the strong inductive step (∗)(\ast) genuinely be verified for all n≥n0n \ge n_0, which forces P(n0)P(n_0) to be established at n=n0n = n_0 (via the vacuous antecedent, as in Step 1 of the proof). If one merely assumes the inductive step holds for n>n0n > n_0 and neglects to check what happens at n=n0n = n_0 — or more commonly, informally skips verifying the smallest case(s) because "the recursive step looks like it always works" — the conclusion can fail entirely. Consider the false claim: "every integer n≥1n \ge 1 can be written as a sum of distinct powers of 33 that are each at least 99" (i.e. using only 9,27,81,…9, 27, 81, \dots). Attempted strong inductive step for n≥10n \ge 10: suppose every kk with 1≤k<n1 \le k < n can be so written; one might try to argue nn relates to n−9n - 9 or similar and finish an inductive step. But look at what happens at the bottom: take n0=1n_0 = 1. The vacuous instance of the step at n=1n = 1 is supposed to force P(1)P(1) — but P(1)P(1), "11 is a sum of distinct powers of 33 that are each ≥9\ge 9," is false (no such representation exists for 11, since the smallest allowed term is already 9>19 > 1). The strong inductive step (∗)(\ast) genuinely fails at n=1n=1 (and in fact at n=2,…,9n = 2, \dots, 9), because there is no way to derive P(1)P(1) from an empty (vacuously true) hypothesis when P(1)P(1) is simply false. If someone carelessly starts their strong induction argument at, say, n0=10n_0 = 10 (skipping the requirement to verify small cases 11–99), and only checks the recursive mechanism for n≥10n \ge 10, they can produce an entirely convincing-looking "proof" of a false statement for small nn — the induction never actually reaches down to justify P(1),…,P(9)P(1), \dots, P(9), because those were never in the domain checked. This is exactly why the base case is not optional and cannot be silently absorbed by writing (∗)(\ast) carelessly: one must confirm that at n=n0n = n_0 the vacuous antecedent really does yield a true P(n0)P(n_0), and in practice — as in Example 2 above — verify enough small cases by hand to see the recursive mechanism engage correctly, rather than trusting the general pattern to somehow retroactively cover values it was never checked against.

Scope, edge cases & common traps

SituationWhat to watch for
Reach of the recursive step is >1> 1 (e.g. n−3n-3, or splits like n=abn=ab)Need enough base cases to "seed" every residue/branch the step can produce
n0=0n_0 = 0 vs n0=1n_0 = 1 vs some other startThe vacuous base case sits at whatever n0n_0 you declare; get it right
Statement about all k<nk < n but proof only uses one specific kkFine — strong induction subsumes ordinary induction; you're allowed to use less than the full hypothesis
Confusing "strong" with "provably stronger"Strong induction proves exactly the same set of statements as ordinary induction (see theorem); the gain is expressive convenience, not logical strength
Infinite descent / minimal counterexample argumentsOften equivalent reformulations of strong induction via Well-Ordering Principle

The mathematician behind it

Origins · 1 minGiuseppe Peano and how this was discovered
GP
Giuseppe Peano
1858–1932 · Turin, Italy

Peano gave the first fully explicit axiomatization of the natural numbers, including the induction axiom, in Arithmetices principia, nova methodo exposita (1889). While the informal idea of proof "by recursion" or "by degrees" is far older — traceable through Pascal, Fermat's method of infinite descent, and Maurolico in the 16th century — Peano's axioms fixed induction as a precise, foundational logical principle on which arithmetic could be built. The equivalence of strong and ordinary induction, and their joint equivalence with the well-ordering of N\mathbb{N}, became a standard part of the analysis of what the induction axiom actually asserts, developed in the decades after Peano by logicians formalizing arithmetic (Dedekind, Skolem, and later Enderton and others in standard logic textbooks).

History
- 1575 — Francesco Maurolico uses an early induction-style argument to prove a formula for sums of odd numbers.
- 1654 — Blaise Pascal states and uses a clear inductive argument in his treatise on the arithmetical triangle.
- 1888 — Richard Dedekind gives a set-theoretic construction of N\mathbb{N} and proves induction as a theorem about simply infinite systems.
- 1889 — Giuseppe Peano publishes his axioms for arithmetic, including induction as a primitive postulate.
- 20th century — Strong induction and well-ordering are shown formally equivalent to ordinary induction over N\mathbb{N} in standard treatments of the foundations of arithmetic (Enderton, Halmos, and others).
Is strong induction actually more powerful than ordinary induction?

No. As the central theorem shows, strong induction is derivable from ordinary induction by applying ordinary induction to the auxiliary "cumulative" predicate Q(n)Q(n): "PP holds for every value from n0n_0 through nn." Anything provable by strong induction is therefore provable by ordinary induction, just with an extra layer of bookkeeping. The two principles prove exactly the same set of statements about N\mathbb{N}; they are also both equivalent to the Well-Ordering Principle for N\mathbb{N}. The value of strong induction is purely organizational: it lets the inductive step reference whichever earlier case is most convenient, rather than forcing every argument through the single predecessor n−1n-1.

Do I still need a base case if I'm using strong induction?

Yes, always — informally and often literally. The formal statement of strong induction technically folds the base case into the n=n0n = n_0 instance of the general step (where the hypothesis is vacuously true), but in every real proof you should explicitly verify P(n0)P(n_0), and any additional small cases that the recursive step's "reach" requires, before trusting the general argument. Skipping this is the single most common way to produce an invalid strong induction proof, as illustrated in the counterexample above with the false "sums of powers of 33 at least 99" claim.

How many base cases do I need?

It depends on how far back the inductive step reaches. If P(n)P(n) is derived using P(n−1)P(n-1) only, one base case suffices (this is just ordinary induction). If the step uses P(n−d)P(n-d) for a fixed distance dd, you generally need dd consecutive base cases (n0,n0+1,…,n0+d−1n_0, n_0+1, \dots, n_0+d-1) to make sure every larger value reduces down into an already-verified case. If the step splits nn via n=abn = ab with both a,ba, b ranging unpredictably, you typically need only the smallest case(s) where no nontrivial split exists (e.g. n=2n=2 being prime), since the recursive step handles everything else, as in the unique-factorization example.

Is strong induction the same as the Well-Ordering Principle?

They are equivalent over N\mathbb{N}, but not literally the same statement. The Well-Ordering Principle says every nonempty subset of N\mathbb{N} has a least element; this is often used to give a "proof by minimal counterexample": assume some nn fails P(n)P(n), take the least such nn, and derive a contradiction using that all smaller values satisfy PP. That "all smaller values satisfy PP" step is exactly the strong inductive hypothesis in disguise. The two techniques are interchangeable, and each can be proved from the other; strong induction is typically introduced as the more "constructive-feeling" of the pair.

Can strong induction be used for statements indexed by something other than N\mathbb{N}?

The core principle as stated requires a well-ordered index set with no infinite strictly descending chains, so that "all smaller cases" is always a well-defined, exhaustible collection. It generalizes directly to induction on ordinals (transfinite induction) and to structural induction on recursively defined sets (trees, formulas, terms), where "smaller" means "a proper substructure," provided that notion of "smaller" is itself well-founded — every strictly descending chain of substructures terminates. This generalized version is sometimes called well-founded induction and strong induction on N\mathbb{N} is its most basic instance.

Why does the proof of the equivalence theorem need to introduce Q(n)Q(n) instead of just applying ordinary induction to PP directly?

Ordinary induction on PP directly would require showing P(n)⇒P(n+1)P(n) \Rightarrow P(n+1), but the strong inductive hypothesis available to us is "P(k)P(k) for all k<nk < n," which is a strictly stronger statement than just P(n−1)P(n-1). To use ordinary induction validly, the inductive hypothesis at stage nn must exactly match what we're allowed to assume; Q(n)Q(n), the conjunction of PP over the whole range so far, is precisely that stronger accumulated statement, engineered so that Q(n)⇒Q(n+1)Q(n) \Rightarrow Q(n+1) is provable using the strong inductive step for PP.

What is a common real-world (non-pure-math) use of strong induction?

Proving correctness of recursive algorithms that split input into unevenly sized subproblems. For instance, in quicksort, a partition step splits an array of size nn into two subarrays whose sizes depend on the (arbitrary) pivot choice — they are not simply "n−1n-1" but could be any split like 33 and n−4n-4. Proving the algorithm sorts correctly for all nn requires assuming correctness for all smaller sizes, which is exactly strong induction; the same pattern appears in correctness proofs for merge sort, in parsing algorithms for context-free grammars, and in dynamic programming recurrences in computer science and operations research.

Before this

Where this leads