Smooth functions with compact support are dense in $L^1$ Here is another homework question that I did and I'd be glad if you could tell me if it's right.
We now strengthen the result of Question Two for $R$ where we have the notion of differentiability. Prove that for any open $Ω ⊂ R$ the set of smooth functions with compact support is dense in $L_1(Ω, λ)$ where $λ$ is the usual Lebesgue measure.
a) Define $J(x) = ke^{\frac{-1}{1−x^2}}$ for $|x| < 1$ and equal to zero elsewhere. Here, the constant $k$ is chosen such that $\int_R J = 1$. Prove that the mollifier $J_ε(x) = \frac{1}{\varepsilon}J(\frac{x}{\varepsilon})$ vanishes for $|x| ≥ ε$ and $\int J_\varepsilon = 1$. 
For $f ∈ L_1$ define the regularization of f by convolving with $J_ε$:
$$ f_ε(x) = J_ε \ast f(x) = \int_\Omega J_\varepsilon (x - y ) f(y) d \lambda(y)$$
b) Prove that $f_ε$ is integrable. 
c) Prove that $f_ε$ is smooth.
d) Prove that if $f$ has compact support then so does $f_ε$. 
e) Finish the proof: For any $f ∈ L_1(Ω)$ there exists $g ∈ C_C^\infty(Ω)$ such that $|f − g| < ε$.
Answer:
a) $|x| > \varepsilon \implies |\frac{x}{e}| > 1$ by definition $J_\varepsilon = 0$.
$$ \int J_\varepsilon = \frac{1}{\varepsilon} \int_R J(\frac{x}{\varepsilon}) = \frac{1}{\varepsilon} \int J(y) \varepsilon d \lambda = 1$$ doing a variable substitution
b) $$ \int_R \int_\Omega J_\varepsilon (x - y) f(y) d \lambda(y) d\lambda(x) = \int_\Omega \int_R J_\varepsilon (x - y) dx f(y) dy = \int_\Omega f(y) dy \leq \int_R |f(y)| dy < \infty$$ using Fubini
c) $$ \frac{d}{dx^{(n)}} f_\varepsilon (x) = \frac{d}{dx^{(n)}} \int_\Omega J_\varepsilon(x -y) f(y) dy = \int_\Omega \frac{d}{dx^{(n)}} J_\varepsilon (x -y ) f(y) dy$$ where $J_\varepsilon(x-y) = e^{g(x)}$ is smooth.
d) $\int$ is linear $\implies $ continuous $\implies $ maps compact sets to compact sets
$f$ has compact supp. $A$, $J_\varepsilon$ has compact support $B$ then $f J_\varepsilon$ has compact support $A \cap B$
e) take $g$ to be $f_\varepsilon$
Many thanks for your help.
 A: Directly proving that $f_{\varepsilon}$ is integrable is rather unnecessary since $C_c^\infty(\Omega) \subset C_c(\Omega) \subset L_1(\Omega)$.
It's a general fact of convolution that $f*g$ is at least as smooth as the smoothest of $f$ and $g$.
Your argument that $f * J_{\varepsilon}$ has compact support is flawed since you're not integrating $fJ_{\varepsilon}$, so you need to be a bit more explicit there.
A: We can ignore the information that $J_\varepsilon$ is a mollifier. All we need is a smooth function with integral one. $J_\varepsilon$ is such a function as proven in a) in the question above. 
We will use that $C_c(X)$ is dense in $L^1$ to show that $C_c^\infty(X)$ is also dense in $L^1$ where $X$ is an open subset of $\mathbb{R}$. Let $\epsilon > 0$ and $f \in L^1$. Then by density of $C_c(X)$ there is a $g$ in $C_c(X)$ such that $\| f - g \|_{L^1} < \epsilon$.
Now we need to turn $g$ into a smooth function by convolving it with $J_\varepsilon$. Let $$g_\varepsilon (x) := (J_\varepsilon \ast g ) (x) = \int_\mathbb{R} J_\varepsilon(x - y) g(y) dy$$
Then $g_\varepsilon$ is smooth because $\left ( f \ast g \right )^\prime = f^\prime \ast g = f \ast g^\prime$ and $J_\varepsilon$ is infinitely differentiable.
$g_\varepsilon$ has compact support because if $[-S,S]$ is the support of $g$ and $[-R,R]$ is the support of $J_\varepsilon$ then the support of $J_\varepsilon \ast g$ is contained in $[-S - R, S + R]$ and hence is also compact.
To finish the proof we claim that $\| f - g_\varepsilon \|_{L^1} < \epsilon$:
$$ \| f - g_\varepsilon \| \leq \| f - g \| + \|g - g_\varepsilon \| < \epsilon$$
Where $\| f - g \| < \frac{\epsilon}{2}$ holds because $C_c(X)$ is dense in $L^1$ and $\|g - g_\varepsilon \| < \frac{\epsilon}{2}$ holds because:
$$\begin{align}
 \|g - g_\varepsilon \|_{L^1} = \int_X \left | g(z) - g_\varepsilon (z)\right | dz 
&= \int_X \left | g(z) - \int_\mathbb{R} J_\varepsilon(z -y) g(y) dy \right | dz \\
 &= \int_X \left | g(z)\int_\mathbb{R}J_\varepsilon(y)dy - \int_\mathbb{R}J_\varepsilon(z -y) g(y) dy \right | dz\\
 &\stackrel{(*)}{=} \int_X \left | g(z)\int_\mathbb{R}J_\varepsilon(z - y)dy - \int_\mathbb{R}J_\varepsilon(z -y) g(y) dy \right | dz \\
 &= \int_X \left | \int_\mathbb{R} g(z) J_\varepsilon(z - y)dy - \int_\mathbb{R}J_\varepsilon(z -y) g(y) dy \right | dz \\
&\leq \int_X  \int_\mathbb{R} | g(z) J_\varepsilon(z - y) |dy - \int_\mathbb{R} | J_\varepsilon(z -y) g(y) | dy  dz \\
&= \int_X \int_\mathbb{R} |g(z) - g(y)| J_\varepsilon (z -y) dy dz
\end{align}$$
Where the equality marked with (*) holds because the integral is over all of $\mathbb{R}$ so the shift by the constant $z$ doesn't change the integral and $J_\varepsilon$ is even hence $J_\varepsilon (y) = J_\varepsilon (-y)$.
$g$ is continuous and compactly supported hence it is uniformly continuous and so there exists a $\delta$ such that $|g(z) - g(y)| < \frac{\epsilon}{2 \lambda(X)}$ for all $z,y \in X$ hence by choosing $\varepsilon := \delta$ we get
$$ \int_X \int_\mathbb{R} |g(z) - g(y)| J_\delta (z -y) dy dz < \frac{\epsilon}{2} $$ 
Note that $\epsilon$ and $\varepsilon$ are not the same.
