[proofplan]
The proof is pointwise and uses only the fact that indicator functions take values in $\{0,1\}$. After fixing $\omega\in\Omega$, convergence of the real sequence $\mathbb{1}_{A_n}(\omega)$ to $\mathbb{1}_A(\omega)$ is equivalent to eventual equality, because two distinct values in $\{0,1\}$ are separated by distance $1$. We then translate equality of indicator values into equality of membership statements, and finally translate eventual membership into the standard definitions of $\limsup$ and $\liminf$ of events.
[/proofplan]
[step:Reduce pointwise convergence to eventual equality of binary sequences]
Fix $\omega\in\Omega$. Since $\{0,1\}\subset\mathbb R$, define the real-valued sequence $b_\omega:\mathbb N\to\{0,1\}\subset\mathbb R$ by
\begin{align*}
b_\omega(n)=\mathbb{1}_{A_n}(\omega)
\end{align*}
and define the indicator map $b:\Omega\to\{0,1\}\subset\mathbb R$ by
\begin{align*}
b(\omega')=\mathbb{1}_A(\omega') \quad \text{for every } \omega'\in\Omega.
\end{align*}
We claim that $b_\omega(n)\to b(\omega)$ in $\mathbb R$ if and only if there exists $N(\omega)\in\mathbb N$ such that $b_\omega(n)=b(\omega)$ for every $n\ge N(\omega)$. If eventual equality holds, then the difference is identically zero for all sufficiently large $n$, so the sequence converges to $b(\omega)$.
Conversely, suppose $b_\omega(n)\to b(\omega)$. Applying the definition of convergence in $\mathbb R$ with
\begin{align*}
\varepsilon=\frac12,
\end{align*}
there exists $N(\omega)\in\mathbb N$ such that for every $n\ge N(\omega)$,
\begin{align*}
|b_\omega(n)-b(\omega)|<\frac12.
\end{align*}
Since both $b_\omega(n)$ and $b(\omega)$ belong to $\{0,1\}$, unequal values would have absolute difference $1$. Hence $b_\omega(n)=b(\omega)$ for every $n\ge N(\omega)$.
[guided]
Fix $\omega\in\Omega$. The pointwise convergence statement is a statement about an ordinary sequence of [real numbers](/page/Real%20Numbers) obtained by evaluating the functions at this single point. Since $\{0,1\}\subset\mathbb R$, define the real-valued sequence $b_\omega:\mathbb N\to\{0,1\}\subset\mathbb R$ by
\begin{align*}
b_\omega(n)=\mathbb{1}_{A_n}(\omega)
\end{align*}
and define the limiting indicator map $b:\Omega\to\{0,1\}\subset\mathbb R$ by
\begin{align*}
b(\omega')=\mathbb{1}_A(\omega') \quad \text{for every } \omega'\in\Omega.
\end{align*}
We prove that $b_\omega(n)\to b(\omega)$ exactly when the sequence is eventually equal to $b(\omega)$. If there exists $N(\omega)\in\mathbb N$ such that $b_\omega(n)=b(\omega)$ for every $n\ge N(\omega)$, then $|b_\omega(n)-b(\omega)|=0$ for every $n\ge N(\omega)$. Therefore $b_\omega(n)\to b(\omega)$ by the definition of convergence of real sequences.
For the reverse implication, suppose $b_\omega(n)\to b(\omega)$ in $\mathbb R$. The only possible values are $0$ and $1$, so the positive separation between two unequal possible values is exactly $1$. Use the definition of convergence with
\begin{align*}
\varepsilon=\frac12.
\end{align*}
There exists $N(\omega)\in\mathbb N$ such that for every $n\ge N(\omega)$,
\begin{align*}
|b_\omega(n)-b(\omega)|<\frac12.
\end{align*}
If $b_\omega(n)\ne b(\omega)$, then one of the two values is $0$ and the other is $1$, giving $|b_\omega(n)-b(\omega)|=1$, contradicting the strict inequality above. Hence $b_\omega(n)=b(\omega)$ for every $n\ge N(\omega)$. This proves the binary-sequence equivalence at the fixed point $\omega$.
[/guided]
[/step]
[step:Translate equality of indicator values into eventual equality of memberships]
For every $n\in\mathbb N$ and every $\omega\in\Omega$, the definition of the indicator function gives
\begin{align*}
\mathbb{1}_{A_n}(\omega)=\mathbb{1}_A(\omega) \iff (\omega\in A_n \iff \omega\in A).
\end{align*}
Applying the previous step for each $\omega\in\Omega$, $\mathbb{1}_{A_n}\to\mathbb{1}_A$ pointwise on $\Omega$ if and only if, for every $\omega\in\Omega$, there exists $N(\omega)\in\mathbb N$ such that for every $n\ge N(\omega)$,
\begin{align*}
\omega\in A_n \iff \omega\in A.
\end{align*}
[/step]
[step:Identify eventual membership with equality of the event limits]
Let
\begin{align*}
L^+ := \limsup_{n\to\infty} A_n=\bigcap_{m=1}^{\infty}\bigcup_{n\ge m}A_n
\end{align*}
and
\begin{align*}
L^- := \liminf_{n\to\infty} A_n=\bigcup_{m=1}^{\infty}\bigcap_{n\ge m}A_n.
\end{align*}
Fix $\omega\in\Omega$. By the definitions, $\omega\in L^-$ if and only if there exists $m\in\mathbb N$ such that $\omega\in A_n$ for every $n\ge m$. Also, $\omega\notin L^+$ if and only if there exists $m\in\mathbb N$ such that $\omega\notin A_n$ for every $n\ge m$, because negating $\omega\in L^+$ gives membership in the complement of some tail union.
The inclusion $L^-\subset L^+$ holds because if $\omega\in L^-$, then $\omega\in A_n$ for every $n$ in some tail, and therefore $\omega\in A_n$ for at least one $n$ in every tail.
Assume first that membership in $A_n$ is eventually equal to membership in $A$ for every $\omega\in\Omega$. If $\omega\in A$, then there exists $N(\omega)\in\mathbb N$ such that $\omega\in A_n$ for every $n\ge N(\omega)$, so $\omega\in L^-$. Since $L^-\subset L^+$, this gives $\omega\in L^+$ as well. If $\omega\notin A$, then there exists $N(\omega)\in\mathbb N$ such that $\omega\notin A_n$ for every $n\ge N(\omega)$, so $\omega\notin L^+$. Since $L^-\subset L^+$, this also gives $\omega\notin L^-$. Therefore $L^+=L^-=A$.
Conversely, assume $L^+=L^-=A$. If $\omega\in A=L^-$, then by the definition of $L^-$ there exists $N(\omega)\in\mathbb N$ such that $\omega\in A_n$ for every $n\ge N(\omega)$. If $\omega\notin A=L^+$, then $\omega\notin L^+$, so there exists $N(\omega)\in\mathbb N$ such that $\omega\notin A_n$ for every $n\ge N(\omega)$. Thus, in both cases, membership of $\omega$ in $A_n$ is eventually equal to membership of $\omega$ in $A$.
Combining this equivalence with the previous step proves the theorem.
[/step]