Let $M$ and $N$ be two smooth manifolds and $f:M\longrightarrow N$ a $C^\infty$ map. We say $f$ is an immersion at $p\in M$ if $df(p):T_pM\longrightarrow T_{f(p)}N$ is injective.
How can I show the set $X=\{p\in M: \textrm{ker}(df(p))=\{0\}\}$ is open in $M$?
A similar result also holds if $f$ is a submersion or if $f$ is étale.
Consider $f$ in local trivializations around $p \in M$ and $f(p) \in N$. There, at points $q$ close to $p$, $df(q)$ is just a smoothly varying $\dim(M) \times \dim(N)$-matrix. Thus, from basic linear algebra, $df(q)$ is injective iff $rank(df(q)) = \dim(M)$. Now, if $\dim(M) > \dim(N)$, then the rank-condition on $df(q)$ is nowhere true, so we have $X = \emptyset$, which is open in $M$. So let's assume $\dim(M) \leq \dim(N)$. Then, again from linear algebra, $df(q)$ is injective iff it contains a $\dim(M) \times \dim(M)$-submatrix with nonzero determinant. If this determinant is nonzero at $q$, it's nonzero on a neighborhood of $q$. All in all, we have shown that each point in $X$ is an inner point. So $X$ is open in $M$, as desired.