[proofplan]
We show the partial sums $S_N = \sum_{n=1}^N g_n$ form a uniformly [Cauchy sequence](/page/Cauchy%20Sequence) by bounding the tail $|S_N(x) - S_M(x)|$ by the tail of the convergent numerical [series](/page/Series) $\sum M_n$. The [Cauchy Criterion for Uniform Convergence](/theorems/257) then delivers [uniform convergence](/page/Uniform%20Convergence). Absolute convergence follows from pointwise comparison with $\sum M_n$.
[/proofplan]
[step:Establish that the partial sums are uniformly Cauchy]
Define the partial sums $S_N: E \to \mathbb{R}$ by $S_N(x) = \sum_{n=1}^N g_n(x)$. Fix $\varepsilon > 0$. Since $\sum_{n=1}^\infty M_n$ converges, there exists $N_0 \in \mathbb{N}$ such that $\sum_{n=M+1}^N M_n < \varepsilon$ for all $N > M \geq N_0$. For any $x \in E$ and any $N > M \geq N_0$, the triangle inequality gives
\begin{align*}
|S_N(x) - S_M(x)| &= \left| \sum_{n=M+1}^N g_n(x) \right| \leq \sum_{n=M+1}^N |g_n(x)| \leq \sum_{n=M+1}^N M_n < \varepsilon.
\end{align*}
Since the bound holds for all $x \in E$, $\sup_{x \in E} |S_N(x) - S_M(x)| < \varepsilon$ for all $N > M \geq N_0$.
[/step]
[step:Conclude uniform convergence from the Cauchy criterion]
By the previous step, the partial sums $(S_N)$ are uniformly Cauchy. By the [Cauchy Criterion for Uniform Convergence](/theorems/257), $(S_N)$ converges uniformly on $E$, so $\sum_{n=1}^\infty g_n$ converges uniformly on $E$.
[/step]
[step:Verify pointwise absolute convergence via the comparison test]
For each fixed $x \in E$ and each $n \in \mathbb{N}$, $|g_n(x)| \leq M_n$. Since $\sum_{n=1}^\infty M_n$ converges, the comparison test for non-negative numerical [series](/page/Series) gives convergence of $\sum_{n=1}^\infty |g_n(x)|$, establishing absolute convergence at each point.
[/step]