Extending a smooth function of constant rank Let's denote $\mathbb{H}^m = \{(x_1, \ldots, x_m) \in \mathbb{R}^m\ |\ x_m \geq 0\}$. For an open subset $U \subset \mathbb{H}^m$, a function $f : U \to \mathbb{R}^n$ is called smooth if it can be locally extended to smooth functions (defined on open subsets of $\mathbb{R}^m$). By a simple partition of unity argument, this is equivalent to there being a smooth extension $\widetilde{f} : \widetilde{U} \to \mathbb{R}^n$, where $\widetilde{U} \supset U$ is an open subset of $\mathbb{R}^m$.
Let us suppose now that $f$ has differential of constant rank equal to $k$ (by taking unilateral partial derivatives, it is clear that the differential of smooth extensions of $f$ doesn't depend on the choice of the extension throughout $U$, so we therefore may talk about the differential of $f$ on the boundary as well). My question is: can we guarantee the existence of a smooth extension $\widetilde{f}$ of $f$ that also has differential of constant rank $k$?
 A: I believe the answer is yes, but I haven't quite got a proof, although I tried a couple of approaches.  I think it's an interesting question, and I'm surprised it hasn't got more attention.  Let me put down my initial thoughts in the hope of spurring some more interest; maybe someone can prove that the idea below works.
One thing to note is that there is some neighbourhood of $\bar U$ (the closure in $\mathbb{R}^m$) in which the rank of $df$ does not decrease.  The condition of having rank $\leq k-1$ is that all the $k\times k$ minors of $df$ vanish, and this is a closed condition.  So if $df$ has rank $k$ on $U$, it has rank $\geq k$ on some neighbourhood of $\bar U$.
I suspect that the following gives you a smooth extension for which the rank of $df$ does not increase in some neighbourhood of $U$.  Let $\vec x = (x_1, \ldots, x_{m-1})$, and define
$$
\tilde f(\vec x,x_m) = \left\{ \begin{matrix}
f(\vec x, x_m) &,& x_m \leq 0 \\
\sum_{q=0}^\infty \left.\left(\frac{\partial^q f}{\partial x_m^q}\right)\right\vert_{(\vec x, x_m) = (\vec x, 0)} x_m^q & , & x_m > 0
\end{matrix}
\right.
$$
I think it's fairly clear that this is smooth, but I couldn't quickly prove that the rank condition holds.
