[proofplan]
The strategy is to quantify the failure of uniform convergence through a doubly-indexed family of "error sets" $C_{ij}$, each collecting points where some tail member $f_k$ ($k \ge j$) deviates from $f$ by more than the threshold $2^{-i}$. Pointwise convergence forces the nested intersection $\bigcap_j C_{ij}$ to be $\mu$-null, and the finite-measure hypothesis lets us invoke [continuity of measure from above](/page/Measure%20Space) to make $\mu(C_{ij})$ as small as we wish. We then excise one carefully chosen tail set per threshold, using a geometric-series budget to keep the total sacrifice below $\varepsilon$, and verify that the surviving set $B$ carries uniform convergence because the error bound $2^{-i}$ holds independently of $x \in B$.
[/proofplan]
[step:Define the error sets $C_{ij}$ and show their measures vanish as $j \to \infty$]
For integers $i, j \ge 1$ define
\begin{align*}
C_{ij} := \bigcup_{k=j}^{\infty} \bigl\{ x \in A \mid \lVert f_k(x) - f(x) \rVert > 2^{-i} \bigr\}.
\end{align*}
Each $C_{ij}$ is $\mu$-[measurable](/page/Measurable%20Functions) as a countable union of measurable sets. The family is nested in $j$: since $C_{i,j+1}$ omits the $k = j$ term from the union, $C_{i,j+1} \subseteq C_{ij}$.
Consider the intersection $\bigcap_{j=1}^{\infty} C_{ij}$. A point $x \in A$ belongs to this intersection if and only if for every $j \ge 1$ there exists $k \ge j$ with $\lVert f_k(x) - f(x) \rVert > 2^{-i}$, which means $f_k(x) \not\to f(x)$. Since $f_k \to f$ $\mu$-almost everywhere on $A$, the set of non-convergence points has $\mu$-measure zero, so
\begin{align*}
\mu\Bigl( \bigcap_{j=1}^{\infty} C_{ij} \Bigr) = 0.
\end{align*}
The sequence $(C_{ij})_{j \ge 1}$ is decreasing and $\mu(C_{i1}) \le \mu(A) < \infty$. We apply [continuity of measure from above](/page/Measure%20Space): for a decreasing sequence of measurable sets with finite starting measure, $\mu\bigl(\bigcap_j C_{ij}\bigr) = \lim_{j \to \infty} \mu(C_{ij})$. The hypothesis $\mu(C_{i1}) < \infty$ is satisfied because $C_{i1} \subseteq A$ and $\mu(A) < \infty$. Therefore
\begin{align*}
\lim_{j \to \infty} \mu(C_{ij}) = 0.
\end{align*}
Because the limit is $0$, for each $i \ge 1$ choose $N(i) \in \mathbb{N}$ such that
\begin{align*}
\mu\bigl(C_{i,N(i)}\bigr) < \varepsilon \, 2^{-i}.
\end{align*}
[guided]
The sets $C_{ij}$ encode the failure of uniform convergence at resolution $2^{-i}$. Specifically, $x \in C_{ij}$ means the tail $(f_k)_{k \ge j}$ has not yet settled within $2^{-i}$ of $f$ at the point $x$. For integers $i, j \ge 1$, define
\begin{align*}
C_{ij} := \bigcup_{k=j}^{\infty} \bigl\{ x \in A \mid \lVert f_k(x) - f(x) \rVert > 2^{-i} \bigr\}.
\end{align*}
Each $C_{ij}$ is $\mu$-measurable as a countable union of measurable sets. As $j$ increases, we demand settlement from a later tail, so $C_{i,j+1} \subseteq C_{ij}$ — the family is nested and decreasing in $j$.
Consider the intersection $\bigcap_{j=1}^{\infty} C_{ij}$. A point $x$ belongs to this intersection if and only if for every $j \ge 1$ there exists $k \ge j$ with $\lVert f_k(x) - f(x) \rVert > 2^{-i}$, which means $f_k(x) \not\to f(x)$. Since $f_k \to f$ $\mu$-almost everywhere on $A$, the set of non-convergence points has $\mu$-measure zero, so
\begin{align*}
\mu\Bigl( \bigcap_{j=1}^{\infty} C_{ij} \Bigr) = 0.
\end{align*}
Why does the finite-measure hypothesis $\mu(A) < \infty$ matter here? We apply [continuity of measure from above](/page/Measure%20Space), which states that if $(E_j)_{j \ge 1}$ is a decreasing sequence of measurable sets with $\mu(E_1) < \infty$, then $\mu\bigl(\bigcap_{j=1}^{\infty} E_j\bigr) = \lim_{j \to \infty} \mu(E_j)$. The finiteness condition $\mu(E_1) < \infty$ is essential: it is satisfied here because $C_{i1} \subseteq A$ and $\mu(A) < \infty$ by hypothesis. Without finite measure, the conclusion can fail: on $(\mathbb{R}, \mathcal{L}^1)$, the sequence $f_k = \mathbb{1}_{[k, k+1]}$ converges pointwise to $0$ everywhere, yet for any measurable $B$ with $\mathcal{L}^1(\mathbb{R} \setminus B) < \infty$, the set $B$ must contain $[k, k+1]$ for infinitely many $k$, so $f_k \not\to 0$ uniformly on $B$.
Since $\bigcap_{j=1}^{\infty} C_{ij}$ has $\mu$-measure zero and $(C_{ij})_{j \ge 1}$ is decreasing with $\mu(C_{i1}) \le \mu(A) < \infty$, continuity from above gives
\begin{align*}
\lim_{j \to \infty} \mu(C_{ij}) = 0.
\end{align*}
For each $i \ge 1$ we may therefore choose an index $N(i) \in \mathbb{N}$ such that
\begin{align*}
\mu\bigl(C_{i,N(i)}\bigr) < \varepsilon \, 2^{-i}.
\end{align*}
The factor $2^{-i}$ is chosen to make the geometric series in the next step converge to $\varepsilon$.
[/guided]
[/step]
[step:Construct the good set $B$ by excising the tails $C_{i,N(i)}$]
Define
\begin{align*}
B := A \setminus \bigcup_{i=1}^{\infty} C_{i,N(i)}.
\end{align*}
Then $B \subseteq A$ is $\mu$-measurable and
\begin{align*}
\mu(A \setminus B) &= \mu\Bigl( A \cap \bigcup_{i=1}^{\infty} C_{i,N(i)} \Bigr) \\
&\le \sum_{i=1}^{\infty} \mu\bigl( C_{i,N(i)} \bigr) \\
&< \sum_{i=1}^{\infty} \varepsilon \, 2^{-i} \\
&= \varepsilon,
\end{align*}
where the first inequality is [countable subadditivity](/page/Measure%20Space) of $\mu$. This establishes property (i).
[guided]
The construction removes from $A$ a countable union of "bad" sets, one per error threshold $2^{-i}$. The geometric-series budget $\varepsilon \, 2^{-i}$ is the key device: it lets us excise infinitely many sets while keeping the total sacrifice strictly below $\varepsilon$.
We define
\begin{align*}
B := A \setminus \bigcup_{i=1}^{\infty} C_{i,N(i)}.
\end{align*}
Since each $C_{i,N(i)} \subseteq A$, the set difference $A \setminus B$ equals $\bigcup_{i=1}^{\infty} C_{i,N(i)}$. By [countable subadditivity](/page/Measure%20Space) of $\mu$,
\begin{align*}
\mu(A \setminus B) \le \sum_{i=1}^{\infty} \mu\bigl( C_{i,N(i)} \bigr) < \sum_{i=1}^{\infty} \varepsilon \, 2^{-i} = \varepsilon.
\end{align*}
The estimate uses only countable subadditivity (not additivity), so the sets $C_{i,N(i)}$ need not be disjoint. This is important because in general the error sets at different thresholds overlap heavily — a point that fails the coarse threshold $2^{-1}$ also fails every finer threshold $2^{-i}$ for $i \ge 1$.
[/guided]
[/step]
[step:Verify uniform convergence of $f_k \to f$ on $B$]
Fix $i \ge 1$. For any $x \in B$, the definition of $B$ gives $x \notin C_{i,N(i)}$, so $x$ does not belong to the union $\bigcup_{k=N(i)}^{\infty} \{ x \in A \mid \lVert f_k(x) - f(x) \rVert > 2^{-i} \}$. Therefore every $k \ge N(i)$ satisfies
\begin{align*}
\lVert f_k(x) - f(x) \rVert \le 2^{-i}.
\end{align*}
The bound $2^{-i}$ depends only on $i$, not on $x \in B$. Consequently
\begin{align*}
\sup_{x \in B} \lVert f_k(x) - f(x) \rVert \le 2^{-i} \quad \text{for all } k \ge N(i).
\end{align*}
Given any $\eta > 0$, choose $i$ large enough that $2^{-i} < \eta$. Then for all $k \ge N(i)$,
\begin{align*}
\sup_{x \in B} \lVert f_k(x) - f(x) \rVert < \eta.
\end{align*}
This is the definition of [uniform convergence](/page/Uniform%20Convergence) of $f_k \to f$ on $B$, establishing property (ii).
[guided]
The essential point is that $x \notin C_{i,N(i)}$ is a statement about all tail indices $k \ge N(i)$ simultaneously: the point $x$ has been "cleared" at threshold $2^{-i}$ from index $N(i)$ onward. Because $B$ avoids the error set for every threshold $i$, the single index $N(i)$ works uniformly for all $x \in B$ — this is precisely the quantifier flip that distinguishes uniform from pointwise convergence.
Concretely, fix $i \ge 1$. For any $x \in B$, we have $x \notin C_{i,N(i)}$ by the definition of $B$. Unwinding the definition of $C_{i,N(i)} = \bigcup_{k=N(i)}^{\infty} \{ x \in A \mid \lVert f_k(x) - f(x) \rVert > 2^{-i} \}$, the statement $x \notin C_{i,N(i)}$ means that for every $k \ge N(i)$,
\begin{align*}
\lVert f_k(x) - f(x) \rVert \le 2^{-i}.
\end{align*}
This bound holds for all $x \in B$ with the same index $N(i)$, so
\begin{align*}
\sup_{x \in B} \lVert f_k(x) - f(x) \rVert \le 2^{-i} \quad \text{for all } k \ge N(i).
\end{align*}
Given any $\eta > 0$, choose $i$ large enough that $2^{-i} < \eta$. Then for all $k \ge N(i)$,
\begin{align*}
\sup_{x \in B} \lVert f_k(x) - f(x) \rVert < \eta.
\end{align*}
In pointwise convergence, the index $N$ may depend on both $\varepsilon$ and $x$. Here, by excising the bad points, we have arranged that $N(i)$ depends only on $i$ (equivalently, only on $\eta$), which is the uniform convergence quantifier: $\forall \eta > 0$, $\exists N$, $\forall k \ge N$, $\forall x \in B$, $\lVert f_k(x) - f(x) \rVert < \eta$.
[/guided]
[/step]