Skip to main content
Mathematics LibreTexts

4.3: Complete Induction

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    There is another formulation of induction, where the inductive step begins with a set of assumptions rather than one single assumption. This method is sometimes called complete induction or strong induction.

    Theorem 4.25. Let \(P(1), P(2), P(3), \ldots\) be a sequence of statements, one for each natural number. Assume that

    1. \(P(1)\) is true, and
    2. For all \(k \in \mathbb{N}\), if \(P(j)\) is true for all \(j\in \mathbb{N}\) such that \(j \leq k\), then \(P(k+1)\) is true.

    Then \(P(n)\) is true for all \(n\in\mathbb{N}\).

    Note the difference between ordinary induction (Theorems 4.2 and 4.9) and complete induction. For the induction step of complete induction, we are not only assuming that \(P(k)\) is true, but rather that \(P(j)\) is true for all \(j\) from 1 to \(k\). Despite the name, complete induction is not any stronger or more powerful than ordinary induction. It is worth pointing out that anytime ordinary induction is an appropriate proof technique, so is complete induction. So, when should we use complete induction?

    In the inductive step, you need to reach \(P(k+1)\), and you should ask yourself which of the previous cases you need to get there. If all you need, is the statement \(P(k)\), then ordinary induction is the way to go. If two preceding cases, \(P(k - 1)\) and \(P(k)\), are necessary to reach \(P(k + 1)\), then complete induction is appropriate. In the extreme, if one needs the full range of preceding cases (i.e., all statements \(P(1), P(2),\ldots,P(k)\)), then again complete induction should be utilized.

    Note that in situations where complete induction is appropriate, it might be the case that you need to verify more than one case in the base step. The number of base cases to be checked depends on how one needs to “look back" in the induction step.

    Skeleton Proof 4.26. Here is the general structure for a proof by complete induction.

    We proceed by induction.

    1. Base step: [Verify that \(P(1)\) is true. Depending on the statement, you may also need to verify that \(P(k)\) is true for other specific values of \(k\).]
    2. Inductive step: [Your goal is to prove “For all \(k\in\mathbb{N}\), if for each \(k \in \mathbb{N}\), \(P(j)\) is true for all \(j\in \mathbb{N}\) such that \(j \leq k\), then \(P(k+1)\) is true.”] Let \(k \in \mathbb{N}\). Suppose \(P(j)\) is true for all \(j \leq k\). [Do something to derive that \(P(k+1)\) is true.] Therefore, \(P(k+1)\) is true.

    Thus, by complete induction, \(P(n)\) is true for all integers \(n \ge a\).

    When tackling the problems in this section, think carefully about how many base steps you must verify.

    Theorem 4.27. Define a sequence of numbers by \(a_1 = 1\), \(a_2 = 3\), and \(a_n = 3a_{n-1} - 2a_{n-2}\) for all natural numbers \(n \geq 3\). Then \(a_n = 2^n - 1\) for all \(n \in \mathbb{N}\).

    Theorem 4.28. Define a sequence of numbers by \(a_1 = 3, a_2 = 5, a_3 = 9\), and \(a_n = 2a_{n-1} + a_{n-2}-2a_{n-3}\) for all natural numbers \(n \geq 4\). Then \(a_n = 2^n + 1\) for all \(n \in \mathbb{N}\).

    Problem 4.29. The Fibonacci sequence is given by \(f_1=1\), \(f_2=1\), and \(f_n=f_{n-1}+f_{n-2}\) for all natural numbers \(n \geq 3\). Prove that \(\left(\frac{3}{2}\right)^{n-2}\leq f_n\leq 2^n\) for all \(n\in\mathbb{N}\).

    Recall that Theorem 4.9 generalized Theorem 4.2 and allowed us to handle situations where the base case was something other than \(P(1)\). We can generalize complete induction in the same way, but we will not write this down as a formal theorem.

    Problem 4.30. Prove that every amount of postage that is at least \(12\) cents can be made from \(4\)-cent and \(5\)-cent stamps.

    Problem 4.31. Whoziwhatzits come in boxes of 6, 9, and 20. Prove that for any natural number \(n \geq 44\), it is possible to buy exactly \(n\) Whoziwhatzits with a combination of these boxes.

    Problem 4.32. Consider a grid of squares that is \(2\) squares wide and \(n\) squares long. Using \(n\) dominoes that are \(1\) square by \(2\) squares, there are many ways to perfectly cover this chessboard with no overlap. How many? Prove your answer.

    Problem 4.33. A binary string of length \(n\) is an ordered list of \(n\) digits such that each digit is either 0 or 1. For example \(011101\) and \(011011\) are distinct binary strings of length 6. Here are the rules for Binary Solitaire: At any stage, you are allowed to:

    1. Swap the leftmost digit (i.e., change 0 to 1, or 1 to 0). For example, we can do \(011101\to 11101\).
    2. Swap the the digit immediately to the right of the leftmost occurrence of 1. For example, we can do \(011011\to 010011\).

    Prove that for all \(n\in\mathbb{N}\), you can change any binary string of length \(n\) to any other binary string of the same length.

    Problem 4.34. Prove that the number of binary strings of length \(n\) that never have two consecutive 1’s is the Fibonacci number \(f_{n+2}\). See Problem 4.29 for the definition of the Fibonacci numbers.

    This page titled 4.3: Complete Induction is shared under a CC BY-SA 4.0 license and was authored, remixed, and/or curated by Dana Ernst via source content that was edited to the style and standards of the LibreTexts platform.

    • Was this article helpful?