Let $u \in \mathcal{D}'(\mathbb{R}^n)$ and $\varphi \in C^{\infty}_0(\mathbb{R}^n).$ We define a convolution of $u$ and $\varphi$ by $$ (u* \varphi)(x) = \langle u, \varphi (x- \cdot)\rangle$$ and $u* \varphi \in C^{\infty}(\mathbb{R}^n).$
How can I know that the above definition is good for $u \in \mathcal{E}'(\mathbb{R}^n)$ and $\varphi \in C^{\infty}(\mathbb{R}^n)$?
Let $u\in\mathcal{D}'$ have compact support and $\varphi\in C^\infty$. Take $\rho\in C^\infty_c$ such that $\rho\equiv 1$ on a neighborhood of $\operatorname{supp} u.$ Then $\rho\varphi\in C^\infty_c$ so $\langle u, \rho\varphi \rangle$ is defined. Its value is also independent of choice of $\rho$ since different choices will only differ outside of the support of $u$. We can therefore extend $\langle \cdot, \cdot \rangle$ to $\mathcal{E}'\times C^\infty$ by setting $$\langle u, \varphi \rangle := \langle u, \rho\varphi \rangle.$$
The extension of the convolution follows from this extension.