[proofplan]
We approximate an arbitrary $u \in W^{k,p}(\Omega)$ by a function in $C^\infty(\Omega) \cap W^{k,p}(\Omega)$ using a partition-of-unity localisation followed by mollification. The difficulty is that [mollifying](/page/Standard%20Mollifier) $u$ directly may push its support outside $\Omega$, so we first decompose $u = \sum_j \psi_j u$ via a smooth [partition of unity](/page/Partition%20of%20Unity) subordinate to a locally finite cover by relatively compact subsets of $\Omega$. Each piece $\psi_j u$ has compact support in $\Omega$, can be extended by zero and mollified on $\mathbb{R}^n$, and the mollification parameter $\varepsilon_j$ is chosen small enough that the $W^{k,p}$ error is less than $\delta/2^j$. The locally finite sum $v = \sum_j (\psi_j u) * \rho_{\varepsilon_j}$ is then smooth on $\Omega$ and approximates $u$ within $\delta$.
[/proofplan]
[step:Localise $u$ using a smooth partition of unity subordinate to a locally finite cover of $\Omega$]
By the [Existence of Smooth Partitions of Unity](/theorems/57) applied to the single-element cover $\{\Omega\}$, there exists a countable, locally finite family of open sets $\{V_j\}_{j=1}^\infty$ covering $\Omega$, with each $\overline{V_j}$ compact and contained in $\Omega$, together with a subordinate smooth partition of unity $\{\psi_j\}_{j=1}^\infty$ satisfying $\psi_j \in C_c^\infty(\Omega)$, $\psi_j \ge 0$, $\operatorname{supp}(\psi_j) \subseteq V_j$, and $\sum_{j=1}^\infty \psi_j = 1$ on $\Omega$. In particular, $u = \sum_{j=1}^\infty \psi_j u$ on $\Omega$, with the sum locally finite.
[guided]
The main difficulty in the Meyers--Serrin theorem is that mollifying $u$ directly with a single parameter $\varepsilon$ does not work: the convolution $u_\varepsilon = \eta_\varepsilon * u$ is only defined on the shrunken domain
\begin{align*}
U_\varepsilon = \{x \in \Omega : \operatorname{dist}(x, \partial\Omega) > \varepsilon\},
\end{align*}
which loses territory near $\partial\Omega$ as $\varepsilon$ decreases. The solution is to cut $u$ into compactly supported pieces and mollify each with its own parameter.
We invoke the [Existence of Smooth Partitions of Unity](/theorems/57) applied to the single-element cover $\{\Omega\}$ of $\Omega$. This produces:
- A countable, locally finite family of open sets $\{V_j\}_{j=1}^\infty$ covering $\Omega$, with each $\overline{V_j}$ compact and contained in $\Omega$.
- A subordinate smooth partition of unity $\{\psi_j\}_{j=1}^\infty$ with $\psi_j \in C_c^\infty(\Omega)$, $\psi_j \ge 0$, $\operatorname{supp}(\psi_j) \subseteq V_j$, and
\begin{align*}
\sum_{j=1}^\infty \psi_j(x) = 1 \quad \text{for all } x \in \Omega.
\end{align*}
Since the family is locally finite, the decomposition $u = \sum_{j=1}^\infty \psi_j u$ is a well-defined, locally finite sum. Each piece $\psi_j u$ has compact support in $\Omega$: $\operatorname{supp}(\psi_j u) \subseteq \operatorname{supp}(\psi_j) \subseteq V_j \Subset \Omega$. This compactness is what allows mollification — we can choose $\varepsilon_j > 0$ small enough that $(\psi_j u) * \rho_{\varepsilon_j}$ is supported in $\Omega$ and approximates $\psi_j u$ in $W^{k,p}$.
[/guided]
[/step]
[step:Mollify each localised piece $\psi_j u$ with parameter $\varepsilon_j$ chosen to achieve error $\delta / 2^j$]
Fix $j \ge 1$. Since $\psi_j \in C_c^\infty(\Omega)$ and $u \in W^{k,p}(\Omega)$, the product $\psi_j u$ belongs to $W^{k,p}(\Omega)$ by the Leibniz rule for [weak derivatives](/page/Weak%20Derivative) (each term involves $D^\beta \psi_j \in C_c^\infty(\Omega)$ multiplied by $D^{\alpha - \beta} u \in L^p(\Omega)$). Moreover, $\operatorname{supp}(\psi_j u) \subseteq \operatorname{supp}(\psi_j) \subseteq V_j$, which is a compact subset of $\Omega$, so extending $\psi_j u$ by zero outside $\Omega$ yields a function in $W^{k,p}(\mathbb{R}^n)$.
For any multi-index $|\alpha| \le k$, the [Local Approximation in the Sobolev Space](/theorems/56) (applied on $\mathbb{R}^n$ where the commutation identity $D^\alpha((\psi_j u) * \rho_\varepsilon) = (D^\alpha(\psi_j u)) * \rho_\varepsilon$ holds globally) gives
\begin{align*}
\|(\psi_j u) * \rho_\varepsilon - \psi_j u\|_{W^{k,p}(\mathbb{R}^n)} &\to 0 \quad \text{as } \varepsilon \to 0.
\end{align*}
Choose $\varepsilon_j > 0$ small enough that:
\begin{align*}
\|(\psi_j u) * \rho_{\varepsilon_j} - \psi_j u\|_{W^{k,p}(\Omega)} &< \frac{\delta}{2^j},
\end{align*}
and also small enough that $\operatorname{supp}((\psi_j u) * \rho_{\varepsilon_j}) \subseteq V_j'$ for some open set $V_j'$ with $V_j \subseteq V_j' \subset\subset \Omega$. The latter is possible because $\operatorname{supp}(\psi_j u) \subset V_j$ has positive distance to $\partial\Omega$, and mollification with radius $\varepsilon_j$ enlarges the support by at most $\varepsilon_j$.
Define $u_j := (\psi_j u) * \rho_{\varepsilon_j}$. Then $u_j \in C^\infty(\Omega)$ and $\operatorname{supp}(u_j)$ is a compact subset of $\Omega$.
[guided]
We must verify that mollification of each localised piece is well-defined and produces a good approximation. The key point is that $\psi_j u$ has compact support strictly inside $\Omega$, so after extending by zero, it becomes an element of $W^{k,p}(\mathbb{R}^n)$, and mollification on all of $\mathbb{R}^n$ is unproblematic.
Fix $j \ge 1$. Since $\psi_j \in C_c^\infty(\Omega)$ and $u \in W^{k,p}(\Omega)$, the product $\psi_j u$ belongs to $W^{k,p}(\Omega)$. Why? The Leibniz rule for weak derivatives gives, for each multi-index $\alpha$ with $|\alpha| \le k$:
\begin{align*}
D^\alpha(\psi_j u) &= \sum_{\beta \le \alpha} \binom{\alpha}{\beta} D^\beta \psi_j \cdot D^{\alpha - \beta} u.
\end{align*}
Each factor $D^\beta \psi_j$ lies in $C_c^\infty(\Omega) \subset L^\infty(\Omega)$ and each $D^{\alpha - \beta} u \in L^p(\Omega)$, so every term is in $L^p(\Omega)$. Moreover, $\operatorname{supp}(\psi_j u) \subseteq \operatorname{supp}(\psi_j) \subseteq V_j \subset\subset \Omega$, so extending $\psi_j u$ by zero outside $\Omega$ produces a function in $W^{k,p}(\mathbb{R}^n)$.
Now we mollify. The [Local Approximation in the Sobolev Space](/theorems/56), when applied on all of $\mathbb{R}^n$ (where $U_\varepsilon = \mathbb{R}^n$ for every $\varepsilon$), gives $\|(\psi_j u) * \rho_\varepsilon - \psi_j u\|_{W^{k,p}(\mathbb{R}^n)} \to 0$ as $\varepsilon \to 0$. Choose $\varepsilon_j > 0$ small enough that this error is less than $\delta / 2^j$. We also require $\varepsilon_j$ to be small enough that the support of $(\psi_j u) * \rho_{\varepsilon_j}$ remains compactly contained in $\Omega$: since $\operatorname{supp}(\psi_j u)$ has positive distance $d_j := \operatorname{dist}(\operatorname{supp}(\psi_j u), \partial\Omega) > 0$ to $\partial\Omega$, choosing $\varepsilon_j < d_j$ ensures $\operatorname{supp}((\psi_j u) * \rho_{\varepsilon_j}) \subset\subset \Omega$.
Set $u_j := (\psi_j u) * \rho_{\varepsilon_j}$. Then $u_j \in C^\infty(\Omega)$ with compact support in $\Omega$, and
\begin{align*}
\|u_j - \psi_j u\|_{W^{k,p}(\Omega)} &< \frac{\delta}{2^j}.
\end{align*}
[/guided]
[/step]
[step:Sum the mollified pieces and verify $v \in C^\infty(\Omega) \cap W^{k,p}(\Omega)$ with $\|u - v\|_{W^{k,p}(\Omega)} < \delta$]
Define $v := \sum_{j=1}^\infty u_j$. The sum is locally finite: near any $x \in \Omega$, only finitely many $V_j'$ (and hence finitely many $\operatorname{supp}(u_j)$) meet a neighbourhood of $x$, because the family $\{V_j\}$ is locally finite and each $V_j'$ is only slightly larger than $V_j$. A locally finite sum of $C^\infty$ functions is $C^\infty$, so $v \in C^\infty(\Omega)$.
Since $u = \sum_{j=1}^\infty \psi_j u$:
\begin{align*}
u - v &= \sum_{j=1}^\infty (\psi_j u - u_j).
\end{align*}
Each term belongs to $W^{k,p}(\Omega)$, and the sum is locally finite. By the triangle inequality in $W^{k,p}(\Omega)$:
\begin{align*}
\|u - v\|_{W^{k,p}(\Omega)} &\le \sum_{j=1}^\infty \|\psi_j u - u_j\|_{W^{k,p}(\Omega)} < \sum_{j=1}^\infty \frac{\delta}{2^j} = \delta.
\end{align*}
The interchange of the infinite sum and the norm is justified because the sum is locally finite: on any compact $K \subset \Omega$, only finitely many terms contribute, so the $W^{k,p}(K)$ triangle inequality applies directly. The global $W^{k,p}(\Omega)$ estimate follows by monotone convergence of the partial sums $\sum_{j=1}^J |\psi_j u - u_j|^p$ as $J \to \infty$. Since $v \in C^\infty(\Omega)$ and $\|u - v\|_{W^{k,p}(\Omega)} < \delta < \infty$, we also have $v \in W^{k,p}(\Omega)$.
[/step]