[proofplan]
We show the partial sums $S_N = \sum_{n=1}^N g_n$ are uniformly [Cauchy](/page/Cauchy%20Sequence) by bounding the tail $|S_N(x) - S_M(x)|$ with the tail of the convergent numerical [series](/page/Series) $\sum M_n$. [Uniform convergence](/page/Uniform%20Convergence) then follows from the completeness of the uniform norm. Absolute convergence follows from pointwise comparison with $\sum M_n$.
[/proofplan]
[step:Establish the uniform Cauchy estimate for the partial sums]
Define $S_N(x) = \sum_{n=1}^N g_n(x)$. Fix $\varepsilon > 0$. Since $\sum_{n=1}^\infty M_n$ converges, its partial sums are Cauchy: there exists $K \in \mathbb{N}$ such that for all $N > M > K$,
\begin{align*}
\sum_{n=M+1}^{N} M_n &< \varepsilon.
\end{align*}
For any $x \in E$ and $N > M > K$, 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*}
The bound is independent of $x$, so $\sup_{x \in E} |S_N(x) - S_M(x)| \leq \sum_{n=M+1}^{N} M_n < \varepsilon$.
[/step]
[step:Conclude uniform and absolute convergence]
Since $(S_N)$ is uniformly Cauchy on $E$, the completeness of $(\mathbb{R}, |\cdot|)$ at each point and the uniform bound together guarantee that $(S_N)$ converges uniformly on $E$ to some [function](/page/Function) $S: E \to \mathbb{R}$.
For absolute convergence: for each fixed $x \in E$, the [series](/page/Series) $\sum_{n=1}^\infty |g_n(x)|$ is bounded above by the convergent series $\sum_{n=1}^\infty M_n$, so $\sum |g_n(x)|$ converges by the comparison test.
[/step]