I know that a given set $M$ is a smooth surface of dimension $k$ in $\mathbb{R}^n$ iff there's a map $r:U\rightarrow\mathbb{R}^n, U\subset \mathbb{R}^k$ is open such that $\forall a\in U, \text{rank}(D_r(a))=k$. How can I determine that a given set is a smooth surface if I am given the set as a level set of a function $\Phi:\mathbb{R}^n\rightarrow\mathbb{R}^{n-k}$? Must I find a parametrization of the set?
For example, how can I tell if $M=\{(x,y,z)\in\mathbb{R}^3|z>y\geq0, x^2-y^2=0\}$ is a smooth surface? I was already given an answer to this one, but it remains unclear how to solve for a more general case. Specifically I would like to know how to tell if a given set is a smooth surface and if it's not a surface how can I prove otherwise, by which tools / theorems?
Edited Progress
I have gathered so far that in order to determine that a given set is a $k$-dimensional surface I must either: (a) find a parametrization of it (b) it's a graph of a function (c) it's a level set of a function. Furthermore, there is no algorithm to prove that a set is not a surface, I'd have to evaluate the set by the definition of a surface. Am I correct in this?