Using the implicit function theorem to prove that a function attains a certain value 
Here' how I tried to do it but failed:
I don't see what the implicit function theorem has to do with this (this exercise is after the section on the implicit function theorem), but anyway, this is what I got out of thinking about the problem. Since the matrix $Df(a)$ has rank $n$, some $n$ by $n$ matrix formed of a collection of $n$ of its column vectors has nonzero determinant. The determinant of this matrix is a continuous function of its entries and since it is non-zero at $a$, there is some neighborhood of $a$ on which it is non-zero, but I still don't know how I can use this. Suppose $c$ is in an $\varepsilon$ neighborhood of $0$, since $f(a)=0$, we have $\left|f\left(x\right)\right|< \varepsilon$ whenever $\left|x-a\right|\ <\delta$ for some $\delta$ and I should prove that $f$ actually attains the value $c$ for some point in this neighborhood but I don't see how I can do this.
 A: I think the best way to prove this question is to use a stronger version of the implicit function theorem, called the local submersion theorem. One trouble I found when studying the implicit function theorem from Munkres is that the actual proof of the implicit function theorem contains a stronger result than the actual conclusion which is stated. In other words, some "information is lost".
Here's a slightly stronger statement, whose proof is very similar to the implicit function theorem given in Munkres:

Let $A \subset \Bbb{R}^{k+n}$ be an open subset, and let $f: A \to \Bbb{R}^n$ be a $C^r$ function ($r \geq 1$). Suppose at some point $a \in A$, the derivative $Df_a: \Bbb{R}^{k+n} \to \Bbb{R}^n$ is surjective (i.e has full rank equal to $n$). Then, there exists an open neighbourhood $\Omega \subset A$, and open sets $U \subset \Bbb{R}^k$, $V \subset \Bbb{R}^n$, and a $C^r$ diffeomorphism $\phi: \Omega \subset \Bbb{R}^{k+n}\to U \times V \subset \Bbb{R}^k \times \Bbb{R}^n$, such that

*

*$f \circ \phi^{-1} : U \times V \to \Bbb{R}^n$ is equal to the (restriction of) canonical projection $\pi_{\Bbb{R}^n}: \Bbb{R}^k \times \Bbb{R}^n \to \Bbb{R}^n$. i.e $f \circ \phi^{-1} = \pi_{\Bbb{R^n}}$ on $U \times V$. Written more explicitly yet again, we have that for all $(\xi,\eta) \in U \times V$,
\begin{align}
f(\phi^{-1}(\xi,\eta)) = \eta
\end{align}

*In fact, we have an explicit formula for $\phi$ as well; there is some surjective linear transformation $T: \Bbb{R}^{k+n} \to \Bbb{R}^k$ such that for all $\alpha \in \Omega$, we have $\phi(\alpha) = (T(\alpha), f(\alpha))$.


Note that the hypothesis of this theorem is almost identical that of the implicit function theorem (similar to what you have in your question). The conclusion with the first bullet point is usually called the "local submersion theorem". Note that the second bullet point actually implies the first one, because
\begin{align}
f \circ \phi^{-1} &= (\pi_{\Bbb{R}^n} \circ \phi) \circ \phi^{-1}  \tag{by definition of $\phi$}\\
&= \pi_{\Bbb{R}^n}.
\end{align}
If you want to recover from this the implicit function theorem as it is usually stated in many books, then make the additional assumption $f(a)=0$ and set $\eta=0$ above.
Again, like I said previously, the proof of this theorem is very similar in spirit to how Munkres proves the implicit function theorem; but I have merely listed out certain observations we make along the proof given in Munkres. I recommend you try to adapt the argument given in Munkres to prove this general statement, but if you need more help, let me know I'll give a few hints.
The statement might sound rather technical, but in its essence, the idea is simple: if $f$ is a smooth function with surjective derivative, then we can find a local change of coordinates on the domain of $f$ (i.e the map $\phi$) such that after changing coordinates (i.e considering $f \circ \phi^{-1}$) the function becomes very simple (merely a projection onto last $n$ factors).

Now, let's see how to use this stronger version of the theorem to prove your question. Well, by the second bullet point, there exist open neighbourhood $\Omega$ of $a$ in $A$, and there exist open neighbourhoods $U \subset \Bbb{R}^k$ and $V \subset \Bbb{R}^n$ such that $\phi: \Omega \to U \times V$, given by $\phi(\alpha) = (T(\alpha), f(\alpha))$ (for some surjective $T: \Bbb{R}^{k+n} \to \Bbb{R}^k$) is a $C^r$ diffeomorphism.
Note that $\phi(a) = (T(a), f(a)) = (T(a), 0) \in U \times V$. To complete the proof of your question, just pick a particular $\xi_0 \in U$ (anyone, it doesn't matter; for example choose $T(a)$), and note that for all $c \in V$, we have that
\begin{align}
f(\phi^{-1}(\xi_0, c)) = c \tag{by first bullet point}
\end{align}
In other words, we have shown the existence of an open neighbourhood $V$ of $f(\alpha) = 0$ in $\Bbb{R}^n$ such that for all $c \in V$, there is an $x_c \in \Bbb{R}^{k+n}$, namely $\phi^{-1}(\xi_0,c)$, such that $x_c$ satisfies the equation $f(x_c) = c$. This is exactly what was to be proven.
