show/hide this revision's text 2 deleted 2 characters in body

Actually the uniform density of locally Lipschitz functions is quite an immediate consequence of the paracompactness of metric spaces (Stone's theorem), and of the fact that, of course, metric spaces admit locally Lipschitz partitions of unity. Note that this way you also have the analogous general result for Banach-valued functions, that is, with a given Banach space as a codomain.

A close result is that uniformly continuous ($\mathbb{R}$-valued) functions can be uniformly approximated by (uniformly) Lipschitz functions. In this case, an explicit approximation for a function $f$ is obtained just taking $f_k:=$ the infimum of all $k$-Lipschitz functions above $f.$ Then $f_k$ is k-Lipschitz and $f_k\to f$ uniformly as $k\to \infty$ (moreover, the uniform distance of $f$ and $f_k$ can be evaluated in terms of the modulus of continuity of $f$), without need of Stone's theorem. I think that variant of this construction should work for locally Lipschitz approximation of continuous functions (always in the scalar-valued case).

show/hide this revision's text 1

Actually the uniform density of locally Lipschitz functions is quite an immediate consequence of the paracompactness of metric spaces (Stone's theorem), and of the fact that, of course, metric spaces admit locally Lipschitz partitions of unity. Note that this way you also have the analogous result for Banach-valued functions, that is, with a given Banach space as a codomain.

A close result is that uniformly continuous ($\mathbb{R}$-valued) functions can be uniformly approximated by (uniformly) Lipschitz functions. In this case, an explicit approximation for a function $f$ is obtained just taking $f_k:=$ the infimum of all $k$-Lipschitz functions above $f.$ Then $f_k$ is k-Lipschitz and $f_k\to f$ uniformly as $k\to \infty$ (moreover, the uniform distance of $f$ and $f_k$ can be evaluated in terms of the modulus of continuity of $f$), without need of Stone's theorem. I think that variant of this construction should work for locally Lipschitz approximation of continuous functions (always in the scalar-valued case).