[proofplan]
We prove both conclusions from the equicontinuity of $\{f_n\}$ and pointwise convergence on the compact metric space $K$. For part (1), continuity of the limit $f$ follows by a $3\varepsilon$ argument: approximate $f(y)$ by $f_n(y)$ (pointwise convergence), move from $f_n(y)$ to $f_n(x)$ (equicontinuity), then return from $f_n(x)$ to $f(x)$ (pointwise convergence). For part (2), we exploit compactness of $K$ to extract a finite $\delta$-net, use pointwise convergence on this finite set to find $N$ controlling $|f_n - f|$ at the net points, then spread this control to all of $K$ via equicontinuity and continuity of $f$.
[/proofplan]
[step:Establish continuity of the limit $f$ by a $3\varepsilon$ argument]
Fix $x_0 \in K$ and $\varepsilon > 0$. We must show that there exists $\delta > 0$ such that $d_K(x, x_0) < \delta$ implies $|f(x) - f(x_0)| < \varepsilon$.
By equicontinuity of $\{f_n\}$, there exists $\delta > 0$ such that for all $n \in \mathbb{N}$ and all $x, y \in K$,
\begin{align*}
d_K(x, y) < \delta \implies |f_n(x) - f_n(y)| < \frac{\varepsilon}{3}.
\end{align*}
Now fix any $x \in K$ with $d_K(x, x_0) < \delta$. For each $n \in \mathbb{N}$,
\begin{align*}
|f(x) - f(x_0)| \le |f(x) - f_n(x)| + |f_n(x) - f_n(x_0)| + |f_n(x_0) - f(x_0)|.
\end{align*}
The middle term satisfies $|f_n(x) - f_n(x_0)| < \varepsilon/3$ by equicontinuity, since $d_K(x, x_0) < \delta$. Since $f_n \to f$ pointwise, the sequences $f_n(x) \to f(x)$ and $f_n(x_0) \to f(x_0)$. Choose $N \in \mathbb{N}$ large enough so that both $|f_N(x) - f(x)| < \varepsilon/3$ and $|f_N(x_0) - f(x_0)| < \varepsilon/3$. Evaluating the triangle inequality at $n = N$,
\begin{align*}
|f(x) - f(x_0)| < \frac{\varepsilon}{3} + \frac{\varepsilon}{3} + \frac{\varepsilon}{3} = \varepsilon.
\end{align*}
Since $\varepsilon > 0$ and $x_0 \in K$ were arbitrary, $f$ is continuous on $K$.
[guided]
The point of part (1) is that equicontinuity prevents the limit of continuous functions from becoming discontinuous. Without equicontinuity, a sequence of continuous functions can converge pointwise to a discontinuous limit (e.g., $f_n(x) = x^n$ on $[0,1]$, which converges to the function that is $0$ on $[0,1)$ and $1$ at $x = 1$). Equicontinuity rules out this kind of behaviour by ensuring that the oscillation of $f_n$ over small intervals is controlled **uniformly in $n$**.
Fix $x_0 \in K$ and $\varepsilon > 0$. We decompose the difference $|f(x) - f(x_0)|$ by inserting $f_n$ as an intermediary:
\begin{align*}
|f(x) - f(x_0)| \le \underbrace{|f(x) - f_n(x)|}_{\text{pointwise at } x} + \underbrace{|f_n(x) - f_n(x_0)|}_{\text{equicontinuity}} + \underbrace{|f_n(x_0) - f(x_0)|}_{\text{pointwise at } x_0}.
\end{align*}
We control the three terms in order:
**Middle term (equicontinuity).** By equicontinuity of $\{f_n\}$, there exists $\delta > 0$ (independent of $n$) such that $d_K(x, x_0) < \delta$ implies $|f_n(x) - f_n(x_0)| < \varepsilon/3$ for all $n \in \mathbb{N}$.
**First and third terms (pointwise convergence).** Fix any $x$ with $d_K(x, x_0) < \delta$. Since $f_n(x) \to f(x)$ and $f_n(x_0) \to f(x_0)$, there exists $N \in \mathbb{N}$ (depending on $x$ and $x_0$) such that $|f_N(x) - f(x)| < \varepsilon/3$ and $|f_N(x_0) - f(x_0)| < \varepsilon/3$.
Note that $N$ depends on $x$, but this is acceptable: we are proving continuity of $f$ at $x_0$, not uniformity in $x$. We only need $\delta$ to be independent of $x$, and it is (it comes from equicontinuity).
Combining at $n = N$:
\begin{align*}
|f(x) - f(x_0)| < \frac{\varepsilon}{3} + \frac{\varepsilon}{3} + \frac{\varepsilon}{3} = \varepsilon.
\end{align*}
[/guided]
[/step]
[step:Cover $K$ by finitely many $\delta$-balls using compactness]
We now prove part (2): that $f_n \to f$ uniformly on $K$. Fix $\varepsilon > 0$. By equicontinuity of $\{f_n\}$, there exists $\delta > 0$ such that for all $n \in \mathbb{N}$ and all $x, y \in K$,
\begin{align*}
d_K(x, y) < \delta \implies |f_n(x) - f_n(y)| < \frac{\varepsilon}{3}.
\end{align*}
Since $K$ is compact, the open cover $\{B(x, \delta) : x \in K\}$ admits a finite subcover. That is, there exist finitely many points $x_1, \ldots, x_m \in K$ such that
\begin{align*}
K \subset \bigcup_{j=1}^{m} B(x_j, \delta).
\end{align*}
[/step]
[step:Use pointwise convergence on the finite net to find a uniform index $N$]
Since $f_n \to f$ pointwise, for each $j \in \{1, \ldots, m\}$, there exists $N_j \in \mathbb{N}$ such that $n \ge N_j$ implies $|f_n(x_j) - f(x_j)| < \varepsilon/3$. Define
\begin{align*}
N := \max\{N_1, \ldots, N_m\}.
\end{align*}
Then for all $n \ge N$ and all $j \in \{1, \ldots, m\}$,
\begin{align*}
|f_n(x_j) - f(x_j)| < \frac{\varepsilon}{3}.
\end{align*}
This is the step where pointwise convergence on a finite set is promoted to simultaneous convergence: the maximum of finitely many thresholds is still finite.
[guided]
Why does this argument require compactness of $K$? Because we need the covering $\{B(x, \delta)\}_{x \in K}$ to have a finite subcover so that the net $\{x_1, \ldots, x_m\}$ is finite. If $K$ were not compact, the net might be infinite, and we could not take a finite maximum of the thresholds $N_j$. Without a finite $N$, we cannot pass from pointwise to uniform convergence.
Having extracted the finite net, we use the trivial but essential fact that the maximum of finitely many natural numbers exists. Define $N := \max\{N_1, \ldots, N_m\}$. For all $n \ge N$ and all net points $x_j$, we have $|f_n(x_j) - f(x_j)| < \varepsilon/3$.
[/guided]
[/step]
[step:Spread control from the net to all of $K$ via equicontinuity and continuity of $f$]
Take any $x \in K$. Since $K \subset \bigcup_{j=1}^{m} B(x_j, \delta)$, there exists an index $j \in \{1, \ldots, m\}$ such that $d_K(x, x_j) < \delta$. For any $n \ge N$,
\begin{align*}
|f_n(x) - f(x)| &\le |f_n(x) - f_n(x_j)| + |f_n(x_j) - f(x_j)| + |f(x_j) - f(x)|.
\end{align*}
We bound each term:
**First term:** Since $d_K(x, x_j) < \delta$ and $n \ge 1$, equicontinuity gives $|f_n(x) - f_n(x_j)| < \varepsilon/3$.
**Second term:** Since $n \ge N \ge N_j$, the previous step gives $|f_n(x_j) - f(x_j)| < \varepsilon/3$.
**Third term:** Part (1) established that $f$ is continuous on $K$. Passing the equicontinuity estimate to the limit, we obtain continuity of $f$ with the same modulus. Concretely, $|f(x_j) - f(x)| = \lim_{n \to \infty} |f_n(x_j) - f_n(x)| \le \varepsilon/3$, since $|f_n(x_j) - f_n(x)| < \varepsilon/3$ holds for every $n$.
Combining the three bounds:
\begin{align*}
|f_n(x) - f(x)| < \frac{\varepsilon}{3} + \frac{\varepsilon}{3} + \frac{\varepsilon}{3} = \varepsilon.
\end{align*}
Since $x \in K$ was arbitrary, $\sup_{x \in K} |f_n(x) - f(x)| \le \varepsilon$ for all $n \ge N$. Since $\varepsilon > 0$ was arbitrary, $f_n \to f$ uniformly on $K$.
[guided]
This is the heart of the argument: we use the $\delta$-net to transfer control from finitely many points to all of $K$. The triangle inequality decomposes $|f_n(x) - f(x)|$ into three pieces, each controlled by a different ingredient:
1. **Equicontinuity** handles $|f_n(x) - f_n(x_j)|$: the point $x$ is within $\delta$ of some net point $x_j$, and equicontinuity gives uniform control over $f_n$-oscillation within $\delta$-balls.
2. **Pointwise convergence on the net** handles $|f_n(x_j) - f(x_j)|$: we chose $N$ large enough to control this at every net point.
3. **Continuity of $f$** handles $|f(x_j) - f(x)|$: this is a consequence of part (1), which we already established. The bound $|f(x_j) - f(x)| \le \varepsilon/3$ follows from taking $n \to \infty$ in $|f_n(x_j) - f_n(x)| < \varepsilon/3$, which holds for all $n$ by equicontinuity.
Note the interplay: equicontinuity is used twice — once for each $f_n$ (first term) and once to guarantee continuity of the limit $f$ (third term). Pointwise convergence is used once, but only at finitely many points, which is why compactness is essential.
Combining all three:
\begin{align*}
|f_n(x) - f(x)| < \frac{\varepsilon}{3} + \frac{\varepsilon}{3} + \frac{\varepsilon}{3} = \varepsilon \quad \text{for all } x \in K, \; n \ge N.
\end{align*}
Since $N$ depends only on $\varepsilon$ (not on $x$), this is uniform convergence.
[/guided]
[/step]