9

I recently learned about complete strong induction. I am familiar with both strong induction and ordinary induction and make sense. But what particularly confuses me is why we do not to explicit the base cases for complete induction. They seem crucial for modus ponens to work and thus, actually show the stand alone proposition $p(n)$ to be true.

The claim for complete induction seems to be the following:

if we show $ P(m), m<n \implies P(n) $ then somehow that must mean that $P(0)$ is true (or $P(b)$ is true for some set of base cases $b \in BaseCases$)

These are my thoughts:

In induction we actually do two things (to show $ P(n) $ for all $ n \in \mathbb N$) :

  1. show P(0)
  2. show implication $ P(n-1) \implies P(n) $

or for strong induction

  1. show P(0)
  2. show implication $ \forall m, m < n, P(m) \implies P(n) $

However, in complete induction we only show:

  1. $ \forall m, m < n, P(m) \implies P(n) $

now that I’ve thought of it more carefully, what bothers me is that in the inductive step we actually only show an implication is true, not that $P(n)$ is true. Intuitively, $P(n)$ ends up true because of Modus Ponens (MP), which forcibly requires checking some set of base cases, say $P(0)$.

What concerns me is the following: ff we show $ \forall m, m < n, P(m) \implies P(n) $ then we shown the implication is true, and not necessarily anything else. If $n=0$ then $ \forall m, m < n, P(m) \implies P(n) $ is False. So sure, the implication is (vacuously) true, but that doesn’t necessarily say $P(0)$ is true stand alone (which is what induction ultimately cares about!).

My assumption is that the claim the wikipedia article does is that (somehow) whatever proof for $ \forall m, m < n, P(m) \implies P(n) $ that we have must also be a stand alone proof for $P(0)$. I guess I could abstractly believe that’s true (mostly on faith), but it seems rather odd to me. I’ve never seen False implies $P(n)$ implies $P(n)$. It’s nearly like the truth table for implication is built so that if you only know the antecedent is False, then you can’t decide if the consequent is true. Which makes sense. A false starting point should intuitively get you no where or get you everywhere (by principle of explosion).

So my question is, whats going on? Is it just that the proof for $ \forall m, m < n, P(m) \implies P(n) $ can also be plugged in for a proof for $P(0)$ and then $P(0)$ is true? Or am I missing something?

I have a feeling that this being so abstract makes it hard to be believable and a concrete example of how $ \forall m, m < n, P(m) \implies P(n) $ automagically makes $P(0)$ (the base cases) true would be really valuable.


Another useful source:

https://www.quora.com/Why-dont-you-need-to-prove-base-cases-for-complete-strong-induction

  • 5
    " I am familiar with both strong induction and ordinary induction" Complete strong induction is strong induction. – fleablood Oct 09 '18 at 16:00
  • @fleablood yea, of course because of $P(m), m<n$, but I'd never seen before that the base cases were "automatically true" given a correct inductive step. As far as I've seen it must be show they are true, because of the Modus Ponens (MP) argument I sketched in my question. – Charlie Parker Oct 09 '18 at 16:03
  • 1
    Your statement "If n=0 then $P(m),m<n\implies P(n)$ is false" is incorrect (when interpreted properly); in fact, $P(m),m<0\implies P(0)$ vacuously true (since there can't be a counterexample). – Noah Schweber Oct 09 '18 at 16:15
  • the whole point is that complete strong induction does NOT need to show $P(0)$. Thats my question. Why don't we need to show $P(0)$? I understand modus ponens (MP). If we have P(0) then we can get the next proposition if we have $ P(0) \implies P(1) $ shown true (by the inductive step). My question is if we have the inductive step, why do we have the base case automatically? – Charlie Parker Oct 09 '18 at 16:19
  • Can you give us an example of a "complete strong induction proof" that you've seen? Because your doubts seem (given your description of CSE) to be wholly justified, which makes me think that perhaps your understanding of CSE ("the whole point is that...") might be flawed. – John Hughes Oct 09 '18 at 16:21
  • @CharlieParker The base case follows from the inductive hypothesis together with a bit of vacuous truth: we know (vacuously) that "For all $m<0$, $P(m)$ holds;" the inductive hypothesis then lets us conclude "$P(0)$ holds." – Noah Schweber Oct 09 '18 at 17:32
  • I think this wording about "$P(m),P(n); n< m\implies P(n+1)$" seeming to imply the base case m=0 is proven in the induction step is confusing you. But realize: the exact same thing is true with weak induction $P(m)\implies P(m+1)$ also implies the base case m=0 is proven in the induction step. Weak induction: $\implies P(0)\implies P(1)\implies P(2)\implies.....$ (Complete) Strong induction: $\implies P(0)\implies P(0),P(1)\implies P(0),P(1),P(2)\implies...$ Both require showing $P(0)$ in the first place. Neither lets you avoid it. – fleablood Oct 09 '18 at 17:49
  • 2
    There is some heavy abuse of commas going on in the formalism here. When one knows what's supposed to be going on, one can reconstruct which meaning each of the commas is trying to express. To a reader who doesn't already know what is going on, it must be completely opaque. – hmakholm left over Monica Oct 09 '18 at 20:53
  • @HenningMakholm yes I know now that's the mistake I made. I should have written $\forall m (m < n \to P(m) )$. That might have been a big source of my confusion in the first place. – Charlie Parker Oct 09 '18 at 23:08
  • 1
    I'm no expert but it looks like we're carefully discriminating between a) p is true if there's a preceding example, and b) p is true if there's no preceding counterexample. – it's a hire car baby Oct 10 '18 at 01:54
  • @RobertFrost hmmm interesting. Thats not how I was thinking about. You mind expanding on b)? – Charlie Parker Oct 10 '18 at 02:00
  • @RobertFrost the way I understand it is that we have $\forall m (m < 0 \to P(m) )$. Since $m$ ranges through $\mathbb N = {0,1,2,3,\dots }$ we have $m<0$ is always false. So the implication is True. So we don't actually know if $P(m)$ is true or false for those cases (nor does it matter). So I'm not sure where the counter examples come into play...but I find it an interesting idea if its correct. – Charlie Parker Oct 10 '18 at 02:03
  • I'm no expert so this would need checking but it looks like the meaning of for any is critical. If it simply means "there's no counterexample" then no example is required, is it? – it's a hire car baby Oct 10 '18 at 06:30
  • @RobertFrost I feel its more similar to "object X has property P(X)", but since there is no object X then that statement can never be a lie (i.e. false). So its true. I think that intuition mimics more the right intuition of whats going on. I don't really know how to relate it to your counter example intuition. Perhaps you can give an example of what you have in mind? I feel you might be on to something. – Charlie Parker Oct 10 '18 at 16:53
  • Sort of like consider all objects X. Does P(X) hold? well we can never evaluate P(X) so its not false...so the statement is true because we couldn't find a counter example (i.e. its true vacuously because the statement is not a lie). Perhaps that what you meant. – Charlie Parker Oct 10 '18 at 16:55

6 Answers6

15

A valid proof by complete induction includes a uniform proof for all $k$ of the inferences below. As such it necessarily includes a proof ($\rm\color{#0a0}{vacuous}$) of the base case $\color{#c00}{\,P(0)}.\,$ See the schema below.

$$\begin{align} \color{#0a0}{\bbox[3px,border:2px solid #0a0]{\phantom{:}}}\Rightarrow\,\color{#c00}{ P(0)}\\ P(0)\Rightarrow\, P(1)\\ P(0),P(1)\Rightarrow\, P(2)\\ \vdots\qquad\ \ \ \ \\ P(0),P(1),\ldots,P(k-1)\,\Rightarrow\,P(k)\\ \end{align}\qquad\qquad\qquad\qquad\ \ $$

While a valid inductive proof necessarily implies a proof of $\,\color{#c00}{P(0)},\,$ this may not occur explicitly. Rather, it may be a special case of a much more general implication derived in the proof. For example, in many such proofs the natural base case(s) is not a single number but rather a much larger set. Let's examine a simple induction where the base cases are all odd naturals.

If $n\ge\color{#c00}1$ is an integer then $\,n = 2^{\large i} j\, $ for some odd $j$ and some integer $i\ge 0.\,$ For if $n$ is odd then $n = 2^0 n,\,$ else $\,n = 2k\,$ for $\,1 \le k < n\,$ so induction $\,\Rightarrow k = 2^{\large i} j,\,$ so $\, n = 2k = 2^{\large i+1} j.\ \ $ QED

Here the base case $\color{#c00}{P(1)}$ is not explicitly proved. Instead it is a special case of the more general inference that $\,n\,$ odd $\,\Rightarrow\, n = 2^0 n.\,$ In such factorization (decomposition) problems the natural base cases are all irreducibles (and units) - not only the $\rm\color{#c00}{least}$ natural in the statement, e.g. in the proof of existence of prime factorizations of integers $\,n > 1,\,$ with base cases being all primes.

Remark $ $ The same holds for infinite descent - the contrapositive form of complete induction: $\, $ if given a counterexample $\,\lnot P(n)\,$ we can prove there exists a smaller one $\lnot P(k),\ k < n,\,$ then no counterexample exists, else iterating the proof would yield an infinite descending chain of counterexamples, contra $\,\Bbb N\,$ is well-ordered. Or, reformulated, if there is a counterexample then, by well order, we can choose a minimal counterexample (a.k.a. minimal criminal), contra the proof yields a smaller one.

Bill Dubuque
  • 272,048
  • what if the inductive step (that only proves the implcation $\forall m (m<n\ to P(m)) \to P(n)$ assume implicitly $n \not = 0$ by saying assume $m < n$ or pick an element from the non-empty set? I think in those cases then you wouldn't actually have the base case for free: "In this method it is, however, vital to ensure that the proof of P(m) does not implicitly assume that m > 0, e.g. by saying "choose an arbitrary n < m" or assuming that a set of m elements has an element." quoting wikipedia: https://en.wikipedia.org/wiki/Mathematical_induction#Complete_(strong)_induction – Charlie Parker Oct 10 '18 at 00:59
  • @CharlieParker I recommend that you focus on some specific examples in your question. Then it will be much easier to be precise. – Bill Dubuque Oct 10 '18 at 01:17
  • @CharlieParker I added a couple specific examples that show clearly that the base case may not be explicitly proved in the induction. – Bill Dubuque Oct 10 '18 at 15:18
  • Bill, do you have an example? I don't. It's just theoretical/abstract right now. I agree a concrete example would be fantastic! – Charlie Parker Oct 10 '18 at 17:06
  • @CharlieParker As I said, I just added some examples to my answer - see above. – Bill Dubuque Oct 10 '18 at 17:43
12

if we show $ P(m), m<n \implies P(n) $ then somehow that must mean that $P(0)$ is true (or $P(b)$ is true for some set of base cases $b \in BaseCases$)

Right, that's exactly correct: if there is nothing smaller than $0$ (as is the case for the natural numbers) then it is vacuously true that:

$$P(m) \text{ holds for any } m<0 \tag{1}$$

So, if you have shown that:

$$\text{for any } n: \text{ if } P(m) \text{ holds for any } m<n, \text{ then } P(n) \tag{2}$$

then in particular you have shown that:

$$\text{ if } P(m) \text{ holds for any } m<0, \text{ then } P(0) \tag{2'}$$

and so we get

$$P(0)$$

by Modus Ponens on $(1)$ and $(2')$

So, there is indeed no need to prove an explicit base case.

That said, think about how in practice you would actually prove $(2)$. Probably, you would be able to show $P(n)$ based on the assumption that there actually are $m<n$ for which we can show that if they all have property $P(m)$, then $P(n)$. But for the edge case of $n=0$, there are no such $m<n$ ... so ... you need to show $P(0)$ by itself!

In other words, in practice, you often do have to treat the base cases as special cases that you prove as base cases after all.

Bram28
  • 100,612
  • 6
  • 70
  • 118
  • yea I think I came to this realization. $P(m)$ holds for $m<0$ holds true vacuously on its own. I think in fact is more clear if we write that out as an explicit implication $q(0) := \forall m (m<0 \to P(m) )$. Then $q(0)$ is true because $m<0$ is false. – Charlie Parker Oct 10 '18 at 01:05
  • 1
    @CharlieParker Right! Glad you realized this yourself :) – Bram28 Oct 10 '18 at 01:09
  • 2
    Actually, I wish I did...someone pointed out that my interpretation of $\forall m (m < n \land P(m) )$ was incorrect and that the correct thing was to consider $\forall m (m < n \to P(m) )$. Then I realized the rest by myself...I have no idea why I thought the logical AND was the interpretation. Probably because of my horrible use of comma's. Thanks to everyone! :) – Charlie Parker Oct 10 '18 at 01:12
  • 1
    @CharlieParker: Yes if you want to understand the logical structure you should always express it (whether explicitly or mentally) in logical form. Commas or other English syntax will hinder. Also, don't forget brackets to make clear what is quantified. Strong induction for a property $P$ is that from "$\forall n \in \mathbb{N}\ ( \forall m \in \mathbb{N}\ ( m<n \to P(m) ) \to P(n) )$" you can deduce "$\forall n \in \mathbb{N}\ ( P(n) )$". – user21820 Oct 10 '18 at 07:47
  • Where you write $(2')$ does this mean: "There does not exist $m<0$ such that $\lnot P(m)$ then..."? As opposed to "$\exists m<0:P(m)$ then...", from which the conclusion would not follow? – it's a hire car baby Oct 10 '18 at 17:05
6

if we show $ P(m), m<n \implies P(n) $ then somehow that must mean that $P(0)$ is true (or $P(b)$ is true for some set of base cases $b \in BaseCases$)

It's not clear exactly how one ought to interpret "$P(m), m<n \implies P(n)$", but I think we have agreed that the following formula (shown in the answer by José Carlos Santos) represents the induction step according to the article: $$((\forall m\in\{0,1,2,\ldots,n-1\})\ P(m))\implies P(n).$$

You seem to be looking at this and saying that for the case $n = 0,$ it is equivalent to $$\bot \implies P(n),$$ using $\bot$ as a symbol for something that is always false. This implication is vacuously true. But in fact, a statement of the form $$ (\forall m\in \emptyset)\ P(m) $$ is also vacuously true. That is, it is true because there is no value of $m$ that can make it false. This may be a little more obvious if you write it this way: $$ (\forall m)(m \in \emptyset \implies P(m)). $$

So what the induction step of complete induction actually says in the case $n = 0$ is that $$\top\implies P(0),$$ where $\top$ is always true. If you prove that $\top\implies P(0),$ you have proved $P(0).$

You might question whether the Wikipedia article does a good job of explaining itself, and I would sympathize. It's only an encyclopedia article, however; a self-evident justification for everything may be too much too ask. (Useful inline citations for details such as this are not too much to ask, however, and there is a notice at the top of that section of the article requesting them.)

David K
  • 98,388
  • This seems to be the core of the OP's misunderstanding; other answers seem to skip over why P(0) is true and take it for granted. – Yakk Oct 09 '18 at 18:01
  • Yea, I've realized that was key, the correct thing to consider $\forall m (m < n \to P(m) )$. After thats cleared up it becomes much easier. – Charlie Parker Oct 10 '18 at 01:07
4

You did not describe strong induction correctly; there's a quantifier missing. The second step should be:

$$\bigl((\forall m\in\{0,1,2,\ldots,n-1\}):P(m)\bigr)\implies P(n).\tag1$$

So, you prove that if $P(0)$, $P(1)$, …, $P(n-1)$, then $P(n)$ holds too. Why should this work? Suppose that you have proved $P(0)$ and also that $(1)$ holds. Then:

  • Since $P(0)$ holds, $P(1)$ holds, by $(1)$.
  • Since $P(0)$ and $P(1)$ hold, $P(2)$ holds, by $(1)$.
  • Since $P(0)$, $P(1)$, and $P(2)$ hold, $P(3)$ holds, by $(1)$.

And so on…

  • doesn't change anything about my confusion because I was always assuming $m<n$ meant $\forall m, m<n$, since $n$ was a free variable. I've fixed it I guess. – Charlie Parker Oct 09 '18 at 16:15
  • @CharlieParker And what about what I wrote after that, explaining why strong induction works? – José Carlos Santos Oct 09 '18 at 16:16
  • 3
    the whole point is that complete strong induction does NOT need to show $P(0)$. Thats my question. Why don't we need to show $P(0)$? I understand modus ponens (MP). If we have P(0) then we can get the next proposition if we have $ P(0) \implies P(1) $ shown true (by the inductive step). My question is if we have the inductive step, why do we have the base case automatically? – Charlie Parker Oct 09 '18 at 16:18
  • But we do need to show $P(0)$. You wrote that yourself. You wrote that the first step of strong induction is “show $P(0)”. – José Carlos Santos Oct 09 '18 at 16:23
  • ok your right, my strong induction statement is wrong. It should have been $\forall m (m< n \to P(m)) $ so if we show $\forall m (m< n \to P(n)) $ then we when $n=0$ we have $\forall m (m< 0 \to P(0))$ which $m<0$ is false so the implication is true vacuously but how does that show $P(0)$? – Charlie Parker Oct 09 '18 at 16:23
  • 1
    Jose, if you see the Wikipedia and Quora link I gave it claims complete strong induction does NOT explicitly need the base cases proven. Which is what I'm puzzled about. – Charlie Parker Oct 09 '18 at 16:24
  • @CharlieParker You misread what is written there. They explain what is different between usual induction and strong induction. Therefore, there is no need to repeat that they both begin with “show $P(0)$”. – José Carlos Santos Oct 09 '18 at 16:27
  • 1
    "the whole point is that complete strong induction does NOT need to show P(0)" Where in either of you sources was that stated?. "Thats my question. Why don't we need to show P(0)?" Who says you don't? – fleablood Oct 09 '18 at 16:52
  • 2
    @fleablood In one form of strong induction, the base case is a special case of the induction hypothesis. See Bill Dubuque’s answer. Or am I misunderstanding what the argument is about? – spaceisdarkgreen Oct 09 '18 at 17:04
  • @spaceisdarkgreen You are misunderstanding whom you are arguing with. Charlie Parker is misinterpreting statement "Assume P for $m$ and all n < m" as "You may assume without proof". Instead this should be compared with the equivalent statement from weak induction "Assume P for $m$". Clearly that does not mean "You may assume without proof". It means "we did this for $m=0$ and we once we prove this step is valid we will have proven it for any $m$ by repeating $m$ times". The strong induction statement is same. "we proved it for $m=0$ and we can repeat and remember for other $0,1....m$. – fleablood Oct 09 '18 at 17:13
  • @fleablood I think at this point its clear that if the inductive hypothesis holds for all n, including $n=0$, then you don't need to prove the base case (because its true automatically). See the wikipedia article and the rest of the comment and answers in this thread. – Charlie Parker Oct 10 '18 at 01:14
3

You write:

If $n=0$ then $ \forall m, m < n, P(m) \implies P(n) $ is False.

This is where you are wrong. As you noticed, $ \forall m, m < 0, P(0)$ is (vacuously) true. But that does not mean that the above statement is false, indeed

$\forall m, m < 0, P(m) \implies P(0)\quad $ is equivalent to $\quad P(0)$.

(If you doubt this: $\mathrm{true}\rightarrow x \iff \neg \mathrm{true} \lor x \iff \mathrm{false} \lor x \iff x$.)

So in complete induction you actually have to show $P(0)$, there is just no reason to list it separately from the implications that you have to show.

Stated differently: In complete induction, for each $n$ you show $P(n)$, but you are allowed to use all $P(m)$ for $m < n$ in the proof of $P(n)$. For $n=0$ this does not allow you anything new as there is no $m<0$.

Carsten S
  • 8,726
1

I think I finally understand my confusions after reading the Wikipedia article more carefully and getting my notation right. First recall what the inductive step (that we have to prove) is in induction:

$$ \varphi(n) := \forall m (m < n \to P(m)) \to P(n) $$

what complete strong induction claims to my understanding is that the proof of the inductive step includes the base case automatically because the argument also holds for the base cases, $P(0)$ for example. So now define:

$$ q(n) := \forall m (m < n \to P(m)) $$ $$ p(n) := P(n) $$ so:

$$ \varphi(n) = q(n) \to p(n) $$

if we assume we prove the inductive step and that argument holds for every $n$ including the base case then we have:

$$ \varphi(0) = q(0) \to p(0) $$

is true as a whole. However, if we carefully examine what $q(0)$ is we notice that it's a tautology, i.e.

$$ q(0) = \forall m (m < 0 \to P(m))$$

because $m < 0$ is False because $m \in \mathbb N = \{ 0,1,2,3,\dots\}$ (i.e. $0<0$,$1<0,2<0\cdots$ is always false), so $(m < 0 \to P(m))$ is True for all values of m in consideration. So now we know $\varphi(0) = q(0) \to p(0)$ is True and $q(0)$ is True as a stand alone logical sentence (this is not usually true). So we have:

$$ q(0)$$ $$ q(0) \to p(0)$$

and it follows by modus ponens (MP):

$$ p(0) $$

which eventually results in the cascading of logical implications usual to induction.

Note however that the inductive step, depending on the content of the proof might or might NOT prove the base case automatically. For example, Wikipedia made a good job of outlining why we need to be careful:

In this method it is, however, vital to ensure that the proof of P(m) does not implicitly assume that m > 0, e.g. by saying "choose an arbitrary n < m" or assuming that a set of m elements has an element.

The second case that talks about sets is important to note because we also have structural induction and the argument might depend on selecting an element from a set, which is possible only if the set is non-empty to start with.

So, if you're unsure, prove the base cases, but you can do complete induction if you're sure your proof does include $m=0$ as well as $m>0$.