Proof Verification for the range of $f$ given certain conditions 
Question: A function $f : ℕ \rightarrow ℕ$ is defined by $f(1)=1$, and for all $n\geq 1$,
  $$f(2n)=f(n)$$
$$f(2n+1)=f(n)+f(n+1)$$
  Prove that the range of $f$ is $ℕ$.

I had previously asked about this here: For $f:\mathbb{N}\to\mathbb{N}$ with $f(1)=1$, $f(2n)=f(n)$, $f(2n+1)=f(n)+f(n+1)$, show that the range of $f$ is $\mathbb{N}$
Considering all the answers that the users gave, I have come up with the following proof for the problem:
"To show that the range of f is $ℕ$, we must make use of the fact that $f(2^n) = 1$ for all non-negative integers n. This is true because
$f(2^n)=f(2^{n-1})=f(2^{n-2})=\cdots=f(1)=1$.
For example:
$f(8)=f(4)=f(2)=1$ as $f(2n)=n$
Using this, we will prove that $f(2^n+1)=n+1$ for all $n\geq1$. A base case for this would be n=0:
$f(2^0+1)=f(1+1)=f(2)=f(1)=1$, with the end result, 1, being equal to n+1 (in this case, 0+1)
Next, suppose that we already know that $f(2^n+1)=n+1$. Through induction, it suffices to show that $f(2^{n+1}+1)=n+2$. Since $2^{n+1}+1$ is odd, we have:
$f(2^{n+1}+1)=f(2^n)+f(2^n+1)=1+(n+1)=n+2$. 
The second part of the equality above was reached using the fact that $f(2n+1)=f(n)+f(n+1)$. This completes our induction. We have shown that $f(2^n+1)=n+1$ for all positive integers (including 0). Also, $f(1)=1$, which further supports 1 being in the range of $f$. Hence, the range of $f$ is $ℕ$."
Is this a strong proof? Do I need to add more details? I'm open to any suggestions!
 A: Overall it seems fine, a really good proof. 
The main nitpick I have lies with how you did the induction and phrased your reasoning. Bear in mind that showing $f(2^n + 1) = n+1 \implies f(2^{n+1} + 1) = n+2$ neither completes the proof (just the inductive step), nor does it show by itself that it holds for all $n \in \Bbb Z^+$.
Rather, this latter conclusion is given by the base case alongside the induction. You take a base case of $n=0$ (showing $f(1) = 1$). Induction gives us a phenomenon of "this step implies the next," a sort of domino effect if you will, but in typical induction you will need a starting point, a first domino to knock over. From that base case and the induction, you get that $P(0) \implies P(1) \implies P(2) \implies \cdots$ as you want (where $P(k)$ means "this result holds when $n=k$").
Since your base case is $n=0$ and is true, and since the induction holds, by these together you can conclude that your result holds for all $n \in \Bbb N$. If your base case was $n=10$, for example, you couldn't say this, only that it holds for integers $n \ge 10.$ (Another distinction is that you seem to imply it only holds for $n$ a positive integer. Technically since it holds for $n=0$, that should be included too. In this paragraph I use $\Bbb N$ synonymously with the nonnegative integers, i.e. including $0$.)
Thus in the future, it might be best to open your induction proof with the base case, and also to pay greater mind to which values of $n$ the proposition is valid (or whatever index you choose to use).
These are largely pedantic issues - ones worth noting, since clarity in your writing is important, but the core of your proof is valid. Good job!
