The set of all critical points of a smooth map is closed

Let $f : \mathbb{R}^m \to \mathbb{R}^n$ be a smooth map. How do I show that the set of all critical points of $f$ is closed in $\mathbb{R}^m$? (Here, a critical point is a point $x \in \mathbb{R}^m$ for which the derivative $Df_x : \mathbb{R}^m \to \mathbb{R}^n$ is not onto.) I can prove this by the inverse function theorem when $m = n$ but cannot see any easy way of going about it when $m > n$. Thanks.


Solution 1:

Consider the map

$$h(x) = \det \left(Df_x \cdot (Df_x)^T\right).$$

By the smoothness of $f$, it is continuous. The set of critical points of $f$ is the zero set of $h$.