A continuous bi-Lipschitz shrinking of a domain into a compact subset Let $\Omega \subset \mathbb{R}^n$ be a bounded domain. My main problem/question is:
(1) Show there exist a sequence of bi-Lipschitz (i.e injective Lipschitz function with Lipschitz inverse) maps $F_n : \overline{\Omega} \to F_n(\overline{\Omega})$ with the image $F_n(\overline{\Omega})$ compactly contained in $\Omega$, and such that $\lim_{n\to \infty} F_n(x) = x$ for all $x \in \overline{\Omega}$.
This will likely require the addition of assumptions on (the boundary of) $\Omega$.
I have a solution which involves adding the assumption that the boundary of $\Omega$ be the zero set of a $C^2$ (actually I think $C^{1,1}$ will suffice) function $G$ and letting $F_n$ be the flow (say to time $1/n$) of the ODE $X' = -\nabla G(X)$.  This leads to a few more questions, such as;
(2) Has this been done before? (it must have been, so I guess I'm asking for a source)
(3) Is the existence of $G$ implied if I impose $\Omega$ to have a $C^2$ boundary? (I may ask this in a separate post)
[Edit: It has been pointed out that $\nabla G$ must be non-vanishing on $\partial\Omega$.]
I have a weaker proof for (1) which adds only the assumption that $\Omega$ be star-shaped (say at the origin). I then set $F_n(x) = (1-\frac{1}{n})x$.
Any and all other ideas, new ideas, references, modifications/improvements to mine, and improved generality in assumptions is appreciated, thank you all.
 A: Here is a sketch of the argument for $C^{0,\alpha}$ domains.


*

*If $f$ is a $C^{0,\alpha}$ function and $\Omega$ is the region above the graph of $f$ then for every $r > 0$ the function $x \mapsto x + (0, \ldots, 0, r)$ is a diffeomorphism of $\mathbb{R}^N$ which maps $\overline{\Omega}$ into $\Omega$.

*If $\Omega$ is a bounded $C^{0,\alpha}$ domain, then there is a finite collection of balls $B(x_i, r_i)$ which cover $\overline{\Omega}$, and such that for each $i$, either $x_i$ is far away from the boundary, or $x_i$ lies on the boundary of $\Omega$ and $\Omega$ near $x_i$ looks like a region above a graph of a $C^{0,\alpha}$ function. More precisely, we assume that either 
(a) $B(x_i, 2 r_i) \subseteq \Omega$, or
(b) $x_i \in \partial \Omega$, and for some $C^{0,\alpha}$ function $f_i$ and an isometry $O_i$ of $\mathbb{R}^N$, we have $$ \Omega \cap B(x_i, 2 r_i) = O_i(\Omega_i),$$ with $$\Omega_i = \{x : x_N \ge f_i(x_1, \ldots, x_{N-1}\} \cap B(0, 2 r_i)\} .$$

*We fix a smooth partition of unity $\rho_i$ on $\overline{\Omega}$ (extended smoothly to all of $\mathbb{R}^N$) in such a way that $\rho_i$ is supported in $B(x_i, r_i)$.

*We fix a small $r > 0$. For each $i$ we define $\phi_i(x) = x$ for $i$ corresponding to case (a), and we let $\phi_i$ to be a local version of the "shift away from the boundary" from point 1 when $i$ corresponds to case (b). More precisely, in the latter case we define $$v_i = O((0, \ldots, 0, r)) - O((0, \ldots, 0, 0))$$ to be the vector "normal" to the boundary (in a very vague sense), and we let $$ \phi_i(x) = x + \rho_i(x) v_i .$$ Finally, we define $F$ to be the composition of all $\phi_i$'s.

*If $r > 0$ is small enough, then every $\phi_i$ is a diffeomorphism of $\mathbb{R}^N$, and hence $F$ is a diffeomorphism of $\mathbb{R}^N$. Furthermore, by making $r > 0$ sufficiently small, we can make $\sup |F(x) - x|$ as small as we please. Each $\phi_i$ maps $\Omega$ into $\Omega$ and $\overline{\Omega}$ into $\overline{\Omega}$, and so $F$ also maps $\Omega$ into $\Omega$ and $\overline{\Omega}$ into $\overline{\Omega}$. Finally, if $x \in \partial\Omega$ and $i$ is the first index such that $\rho_i(x) > 0$, then $\phi_i(x)$ is in $\Omega$, and hence it follows that $F(x)$ is in $\Omega$. Thus, $F$ maps $\overline{\Omega}$ into $\Omega$.
Thus, $F$ has all the desired properties.
