Let $$C^{\infty}_b(\mathbb{R}^{n}) = \{f:\mathbb{R}^{n} \to \mathbb{R} \mid f\text{ is smooth and } \Vert f \Vert_{\infty} < \infty\},$$ $$C_{b}(\mathbb{R}^{n}) = \{f:\mathbb{R}^{n} \to \mathbb{R}\mid f\text{ is continuous and bounded}\}.$$
I want to prove that $C^{\infty}_b(\mathbb{R}^{n})$ is dense in $C_{b}(\mathbb{R}^{n})$.
The proofs that I know are totally constructive, I mean: the proofs use explicit function defined by parts.
I want to know if is possible to prove this result using generic functions (such a generic step function) or, at least, a strong theorem.
There's a stronger result here: Suppose $f$ is continuous on $\mathbb R^n.$ Let $\epsilon>0.$ Then there exists $g\in C^\infty(\mathbb R^n )$ such that $|f(x)-g(x)|<\epsilon$ for all $x\in \mathbb R^n.$
Proof for $n=1:$ Assume first that $f(k)=0$ for all $k\in \mathbb Z.$ Let $I_k=[k,k+1].$ Then by Weierstrass, there is a polynomial $p_k$ such that $|f-p_k|<\epsilon/2$ on $I_k.$ Because $f=0$ at the end points, there is $\delta_k>0$ such that $|f|+|p_k|<\epsilon$ on $[k,k+\delta_k] \cup [(k+1)-\delta_k,k+1].$
Now find $g_k\in C^\infty(\mathbb R)$ such that i) the support of $g_k$ is $I_k$, ii) $0\le g_k\le 1$ everywhere, and $g_k=1$ on $[k+\delta_k,(k+1)-\delta_k].$ Verify that $|f-g_kp_k|<\epsilon$ on $I_k.$
The nice thing about $g_kp_k$ is that all derivatives of it equal $0$ at the endpoints of $I_k.$ Thus the $g_kp_k$ paste nicely together to form a function $g=\sum_{k\in \mathbb Z}g_kp_k$ in $C^\infty(\mathbb R).$ We then have $|f-g|<\epsilon$ everywhere. This is the desired conclusion for such an $f.$
To get the full result, for each $k$ define a bump function $b_k\in C^\infty(\mathbb R )$ whose support is a small interval containing $k,$ with $b_k(k) = f(k).$ The function $b=\sum_{k\in \mathbb Z}b_k$ is then in $C^\infty(\mathbb R ),$ and $f-b=0$ at all integers. We can then apply the above to $f-b$ and this gives the result for $f.$
Added later If $n>1$ we can do something similar. For $k=1,2,\dots$ let $A_k$ be the annular region $\{k-1\le |x|\le k\},$ and let $S_k$ be the sphere $\{|x|= k\}.$ At first we assume $|f|<\epsilon$ on each $S_k.$ Then the ideas for the $n=1$ proof work pretty much the same, with the $A_k$ replacing the $I_k$ and the $S_k$ replacing the endpoints. Also we would use Stone-Weierstrass rather than just Weierstrass.
To get to the $|f|<\epsilon$ assumption, we choose "annular" bump functions $b_k$ supported very close to $S_k,$ with $b_k=1$ on $S_k.$ By SW, there are polynomials $p_k$ such that $|f-p_k|<\epsilon$ on $S_k.$ We then have $|f-\sum_k b_kp_k|<\epsilon$ on each $S_j$ as desired.