In this exercise you will complete the proof of $3 \rightarrow 1$ of Theorem 7.1.5. Suppose $B \subseteq \mathbb{Z}^{+}$and $B$ is infinite. We now define a function $f: \mathbb{Z}^{+} \rightarrow B$ by recursion as follows:
For all $n \in \mathbb{Z}^{+}$,
$$
f(n)=\text { the smallest element of } B \backslash\left\{f(m) \mid m \in \mathbb{Z}^{+}, m<n\right\} .
$$
Of course, the definition is recursive because the specification of $f(n)$ refers to $f(m)$ for all $m<n$.
(a) Suppose $n \in \mathbb{Z}^{+}$. The definition of $f(n)$ only makes sense if we can be sure that $B \backslash\left\{f(m) \mid m \in \mathbb{Z}^{+}, m<n\right\} \neq \varnothing$, in which case the well-ordering principle guarantees that it has a smallest element. Prove that $B \backslash\left\{f(m) \mid m \in \mathbb{Z}^{+}, m<n\right\} \neq \varnothing$. (Hint: See exercise 8.)
(b) Prove that for all $n \in \mathbb{Z}^{+}, f(n) \geq n$.
(c) Prove that $f$ is one-to-one and onto.