Let $f: \mathbb{R}^n \to \mathbb{R}$ be of class $C^2$. Let $x$ be a non-degenerate critical point of $f$. Prove that there is an open neighborhood of $x$ which contains no other critical points of $f$.
$\textbf{Proof:}$ Suppose the contrary. Then for every $n \in \mathbb{Z}_+$ there is an $x_n \in B\left(x,\frac{1}{n}\right)$, which is a critical point of $f$ not equal to $x$. So $x_n$ converge to $x$. Now let $v_n = \frac{x_n - x}{||x_n-x||}$. Let us just assume $v_n$ converges to some $v \in \mathbb{S}^{n-1}$ (since $v_n$ is a bounded sequence, it has a convergent subsequence). So by the definition of the Frechet derivative, and since $x_n \to x$, we have that \begin{align*} 0 &= \lim_{n\to\infty} \frac{||Df(x_n) - Df(x) - D^2f(x)(x_n -x)||}{||x_n - x||}\\ &=\lim_{n\to\infty} \frac{||- D^2f(x)(x_n -x)||}{||x_n - x||}\\ &=\lim_{n\to\infty} ||D^2f(x)v_n||\\ &= D^2f(x)v, \end{align*} where we use the fact that $Df(x) = Df(x_n) = 0$ for all $n \in \mathbb{Z}_+$ ($x$ and $x_n$ are critical points). This implies that $D^2f(x)v = 0$, but since $x$ is a nondegenerate point, $D^2f(x)$ is invertible, and since $v \ne 0$, we have a contradiction. Thus, there is an open neighborhood of $x$ that contains no other critical points of $f$.
Does this approach work? I am not sure if I used a correct definition for the Hessian. Also, I did not use that the Hessian is continuous, which worries me. Regardless of whether this is correct or not, is there a direct approach, or even maybe a more elegant one?
That argument looks fine to me. Another way would be to use Morse's lemma to say that after a coordinate change, for some $m$ one has $f(x+h) = f(x) + \sum_{i = 1}^m h_i^2 - \sum_{i = m+1}^n h_i^2$ for small enough $|h|$. Therefore if $h_i \neq 0$, ${\partial f \over \partial x_i}(x + h)$ is nonzero in the new coordinates.