Here is a problem that I have encountered in PDE book several times. But I have never seen a proof of it. I will be very grateful if someone could give me a proof.
Question: Let $B$ be the unit ball in $\mathbb{R}^n$, $f$ a non-negative function in $H_0^1(B)$, prove that there exists a sequence of non-negative functions $\varphi_k\in C_c^\infty(B)$ such that $\varphi_k\rightarrow f$ in $H_0^1(B)$.
Edit: What if we replace $B$ by a general domain $\Omega$?
Edit II: Thanks to Hans's idea (which should work for any star-shaped domain), if the boundary of $\Omega$ suitably good (for example, it admits finite covering of star-shaped open sets), then using partition of unity we should be able to construct the desired approximation.
Edit III: If I didn't make any mistake. L.C. Evans's Partial Differential Equations (First Edition) page 260 gives a proof for $C^1$ domain. Although he was actually proving something else, the key ingredient works in our situation!