Difference between set theory proof and logic proof of complete induction Set theory proof: Let $\mathbf{A}$ be the set such that $\{0,1,2,...,n\} \subset \mathbf{A} \implies n+1 \in \mathbf{A}$. Our goal is to show that $\mathbf{A} = \mathbb{N}$. To do this, we construct the set $\mathbf{B}$ such that it contains $n$ whenever $\{0,1,2,...,n\} \subset \mathbf{A}$. Now we induct on $\mathbf{B}$. Clearly it contains $0$. Suppose it contains $n$, then $\{0,1,2,...,n\} \subset \mathbf{A}$. By the hypothesis of complete induction, $n+1 \in \mathbf{A}$, hence $\{0,1,2,...,n+1\} \subset \mathbf{A}$, hence $n+1 \in \mathbf{B}$. So $\mathbf{B} = \mathbb{N}$, which implies that $\mathbf{A} = \mathbb{N}$, and we're done.
Logic proof: Let $\mathbf{Q}(n)$ $\equiv$ $\ \mathbf{P}(m)$ for all $0 \leq m \lt n$. Inducting on $n$, we're done.
Now comes the question that's been puzzling me: Naively, I would've thought that the set theory proof is just the logic proof written in the language of sets. But this doesn't seem to be the case, in the set theory proof, we constructed the set $\mathbf{B}$ which is in some sense "weaker" than $\mathbf{A}$. However, the logic proof hinged on the statement $\ \mathbf{Q}(n)$, which is "stronger" than $\mathbf{P}(m)$. This means (I think) the set theory proof isn't a direct translation of the logic one. Is there a deeper reason why this is the case? What's the difference between the language of sets and mathematical logic using quantifiers?
 A: In my answer I'm assuming that you also have $0 \in A$ and that $A$ is a set of natural numbers. Otherwise as celtschk said in a comment your proof is invalid since it could be that $A$ contains things besides natural numbers. The logical flaws in your proof are:
$\def\nn{\mathbb{N}}$

*

*You claimed that $0 \in B$. This would require $0 \in A$ by definition, but you didn't give that as a premise.


*Your induction on $B$ only gives $\nn \subseteq B$ and you have no control over what other objects are in $B$.
With that, the set-theoretic proof does actually correspond to the logic proof. After all:

$Q(n) \equiv \forall m \in \nn_{<n}\ ( P(m) )$, for every $n \in \nn$.
$B = \{ n : \forall m \in \nn_{\le n}\ ( m \in A ) \}$.

The only difference is that your $B$ uses "$\le n$" while your $Q$ uses "$<n$". For natural numbers both turn out to be essentially the same, but later if you ever want to learn about transfinite induction (which is in a nutshell induction on sequences longer than $\nn$), then the latter on is the 'structurally correct' one to use.
Anyway let's see both proofs of strong induction (from ordinary induction) in full:

$\forall n \in \nn\ ( \forall m \in \nn_{<n}\ ( P(m) ) \to P(n) )$.   [premise]
Let $Q(n) = \forall m \in \nn_{<n}\ ( P(m) )$, for every $n \in \nn$.
Then $Q(0)$.   [Trivially because $\nn_{<0}$ is empty.]
Given any $n \in \nn$ such that $Q(n)$:
  $\forall m \in \nn_{<n}\ ( P(m) )$.   [(1)]
  $P(n)$   [(2); by the premise.]
  Given any $k \in \nn_{<n+1}$:
    $k < n$ or $k = n$   [By properties of $\nn$.]
    If $k < n$:
      $P(k)$.   [By (1).]
    If $k = n$:
      $P(k)$.   [By (2).]
    Therefore $P(k)$.
  Therefore $\forall k \in \nn_{<n+1}\ ( P(k) )$.
  Thus $Q(n+1)$.
Therefore by induction $\forall n \in \nn\ ( Q(n) )$.
Given any $n \in \nn$:
  $Q(n+1)$.
  Thus $\forall m \in \nn_{<n+1}\ ( P(m) )$.
  Thus $P(n)$.   [Since $n<n+1$ by properties of $\nn$.]
Therefore $\forall n \in \nn\ ( P(n) )$.

$\forall n \in \nn\ ( \forall m \in \nn_{<n}\ ( m \in A ) \to n \in A )$.   [premise]
Let $B = \{ n : \forall m \in \nn_{<n}\ ( m \in A ) \}$.
Then $0 \in B$.   [Trivially because $\nn_{<0}$ is empty.]
Given any $n \in \nn$ such that $n \in B$:
  $\forall m \in \nn_{<n}\ ( m \in A )$.   [(1)]
  $n \in A$   [(2); by the premise.]
  Given any $k \in \nn_{<n+1}$:
    $k < n$ or $k = n$   [By properties of $\nn$.]
    If $k < n$:
      $k \in A$.   [By (1).]
    If $k = n$:
      $k \in A$.   [By (2).]
    Therefore $k \in A$.
  Therefore $\forall k \in \nn_{<n+1}\ ( k \in A )$.
  Thus $n+1 \in B$.
Therefore by induction $\forall n \in \nn\ ( n \in B )$.
Given any $n \in \nn$:
  $n+1 \in B$.
  Thus $\forall m \in \nn_{<n+1}\ ( m \in A )$.
  Thus $n \in A$.   [Since $n<n+1$ by properties of $\nn$.]
Therefore $\forall n \in \nn\ ( n \in A )$.
Thus $\nn \subseteq A$.
[If you further want $A = \nn$ you need an extra premise $A \subseteq \nn$.]
