[proofplan]
For each fixed function $f_j$, the random variables $f_j(X_i)$ are i.i.d. and integrable, so the [Strong Law of Large Numbers](/theorems/520) gives almost sure convergence of $P_n f_j$ to $P f_j$. Since the class has only finitely many members, we intersect the finitely many probability-one events on which these convergences hold. On that common event, the supremum over $\mathcal F$ is the maximum of finitely many non-negative sequences converging to $0$, and therefore also converges to $0$.
[/proofplan]
[step:Apply the strong law to each fixed function in the class]
Fix $j\in\{1,\dots,m\}$. Define, for every $i\in\mathbb N$, the real-valued [random variable](/page/Random%20Variable)
\begin{align*}
Y_{i,j}:\Omega\to\mathbb R,\qquad Y_{i,j}(\omega):=f_j(X_i(\omega)).
\end{align*}
Since $f_j$ is $\mathcal S$-measurable and $X_i$ is $\mathcal A/\mathcal S$-measurable, $Y_{i,j}$ is $\mathcal A/\mathcal B(\mathbb R)$-measurable. Because $X_i$ has distribution $P$,
\begin{align*}
\mathbb E[|Y_{i,j}|]=\int_S |f_j(x)|\,dP(x)<\infty.
\end{align*}
The random variables $(Y_{i,j})_{i\ge 1}$ are i.i.d. because $(X_i)_{i\ge 1}$ are i.i.d. and each $Y_{i,j}$ is obtained from $X_i$ by the same measurable map $f_j:S\to\mathbb R$.
By the [Strong Law of Large Numbers](/theorems/1852) (citing a result not yet in the wiki: Strong Law of Large Numbers), there is an event $A_j\in\mathcal A$ with $\mathbb P(A_j)=1$ such that, for every $\omega\in A_j$,
\begin{align*}
\frac{1}{n}\sum_{i=1}^{n}Y_{i,j}(\omega)\to \mathbb E[Y_{1,j}].
\end{align*}
Since $Y_{i,j}=f_j(X_i)$ and since $X_1$ has distribution $P$,
\begin{align*}
\mathbb E[Y_{1,j}]=\int_S f_j(x)\,dP(x)=P f_j.
\end{align*}
Thus, for every $\omega\in A_j$,
\begin{align*}
P_n f_j(\omega)\to P f_j.
\end{align*}
[guided]
Fix one index $j\in\{1,\dots,m\}$. The point is to reduce the statement for the function $f_j$ to the ordinary one-dimensional Strong Law of Large Numbers. For every $i\in\mathbb N$, define the real-valued random variable
\begin{align*}
Y_{i,j}:\Omega\to\mathbb R,\qquad Y_{i,j}(\omega):=f_j(X_i(\omega)).
\end{align*}
This is measurable because it is the composition of the measurable map $X_i:(\Omega,\mathcal A)\to(S,\mathcal S)$ with the measurable map $f_j:(S,\mathcal S)\to(\mathbb R,\mathcal B(\mathbb R))$.
We must also verify integrability before applying the Strong Law of Large Numbers. Since $X_i$ has distribution $P$, the change-of-law identity for expectations gives
\begin{align*}
\mathbb E[|Y_{i,j}|]=\mathbb E[|f_j(X_i)|]=\int_S |f_j(x)|\,dP(x)=P|f_j|<\infty.
\end{align*}
The sequence $(Y_{i,j})_{i\ge 1}$ is i.i.d.: independence follows because the variables $X_i$ are independent and each $Y_{i,j}$ is a [measurable function](/page/Measurable%20Function) of the corresponding $X_i$, and identical distribution follows because all $X_i$ have distribution $P$.
Therefore the Strong Law of Large Numbers (citing a result not yet in the wiki: Strong Law of Large Numbers) applies to the integrable i.i.d. sequence $(Y_{i,j})_{i\ge 1}$. Hence there exists an event $A_j\in\mathcal A$ with $\mathbb P(A_j)=1$ such that, for every $\omega\in A_j$,
\begin{align*}
\frac{1}{n}\sum_{i=1}^{n}Y_{i,j}(\omega)\to \mathbb E[Y_{1,j}].
\end{align*}
Substituting the definition of $Y_{i,j}$ gives
\begin{align*}
\frac{1}{n}\sum_{i=1}^{n}Y_{i,j}(\omega)=\frac{1}{n}\sum_{i=1}^{n}f_j(X_i(\omega))=P_n f_j(\omega).
\end{align*}
Since $X_1$ has distribution $P$,
\begin{align*}
\mathbb E[Y_{1,j}]=\mathbb E[f_j(X_1)]=\int_S f_j(x)\,dP(x)=P f_j.
\end{align*}
Thus, on the event $A_j$, the empirical average $P_n f_j$ converges to the population average $P f_j$.
[/guided]
[/step]
[step:Intersect the finitely many convergence events]
Define the event
\begin{align*}
A:=\bigcap_{j=1}^{m} A_j.
\end{align*}
Since the intersection is finite and $\mathbb P(A_j)=1$ for every $j\in\{1,\dots,m\}$,
\begin{align*}
\mathbb P(A)=1.
\end{align*}
For every $\omega\in A$ and every $j\in\{1,\dots,m\}$,
\begin{align*}
|P_n f_j(\omega)-P f_j|\to 0.
\end{align*}
[/step]
[step:Pass from coordinatewise convergence to the finite supremum]
Fix $\omega\in A$. For every $n\in\mathbb N$, define the non-negative real number
\begin{align*}
M_n(\omega):=\max_{1\le j\le m}|P_n f_j(\omega)-P f_j|.
\end{align*}
Because $\mathcal F=\{f_1,\dots,f_m\}$, including possible repeated functions, the supremum over $\mathcal F$ satisfies
\begin{align*}
\sup_{f\in\mathcal F}|P_n f(\omega)-P f|=M_n(\omega).
\end{align*}
Let $\varepsilon>0$. For each $j\in\{1,\dots,m\}$, the convergence on $A$ gives an integer $N_j(\omega,\varepsilon)\in\mathbb N$ such that, whenever $n\ge N_j(\omega,\varepsilon)$,
\begin{align*}
|P_n f_j(\omega)-P f_j|<\varepsilon.
\end{align*}
Define
\begin{align*}
N(\omega,\varepsilon):=\max_{1\le j\le m}N_j(\omega,\varepsilon).
\end{align*}
Then, for every $n\ge N(\omega,\varepsilon)$ and every $j\in\{1,\dots,m\}$,
\begin{align*}
|P_n f_j(\omega)-P f_j|<\varepsilon.
\end{align*}
Therefore, for every $n\ge N(\omega,\varepsilon)$,
\begin{align*}
M_n(\omega)<\varepsilon.
\end{align*}
Hence $M_n(\omega)\to 0$ for every $\omega\in A$.
[/step]
[step:Conclude almost sure uniform convergence over the finite class]
Since $\mathbb P(A)=1$ and, for every $\omega\in A$,
\begin{align*}
\sup_{f\in\mathcal F}|P_n f(\omega)-P f|=M_n(\omega)\to 0,
\end{align*}
we obtain
\begin{align*}
\sup_{f\in\mathcal F}|P_n f-Pf| \xrightarrow{a.s.} 0.
\end{align*}
This is the asserted finite-class [uniform law of large numbers](/theorems/1855).
[/step]