[proofplan]
The proof reduces the theorem to the structure of the multiplication-by-$l^n$ isogeny on an abelian variety. Since $l$ is prime to the characteristic of $K$, the kernel $A[l^n]$ is finite étale of degree $l^{2gn}$, so over $\overline{K}$ it gives a finite abelian group of that order. Surjectivity of multiplication by $l$ controls the transition maps and shows that the $l$-torsion inside $A[l^n](\overline{K})$ has size $l^{2g}$. The classification of finite abelian $l$-groups then forces $A[l^n](\overline{K})$ to be $(\mathbb{Z}/l^n\mathbb{Z})^{2g}$, and passing to the inverse limit gives a free $\mathbb{Z}_l$-module of rank $2g$.
[/proofplan]
[step:Pass to the algebraic closure and record the multiplication maps]
Let $A_{\overline{K}}$ denote the base change of $A$ from $K$ to $\overline{K}$. For each integer $n \geq 1$, let
\begin{align*}
[l^n]_A: A_{\overline{K}} &\to A_{\overline{K}}
\end{align*}
denote the multiplication-by-$l^n$ morphism, and define
\begin{align*}
G_n := A[l^n](\overline{K}) = \ker([l^n]_A)(\overline{K}).
\end{align*}
Thus $G_n$ is a finite abelian group under the group law of $A(\overline{K})$, and the transition map
\begin{align*}
\rho_{n+1,n}: G_{n+1} &\to G_n \\
x &\mapsto [l]_A(x)
\end{align*}
is the map used in the inverse system defining $T_lA$.
[/step]
[step:Compute the size of each geometric torsion group]
We use the standard prime-to-characteristic torsion theorem for abelian varieties: if $m$ is an integer prime to $\operatorname{char}(K)$, then $[m]_A$ is a finite étale isogeny of degree $m^{2g}$ (citing a result not yet in the wiki: Degree and Étaleness of Multiplication-by-$m$ on an Abelian Variety). Applying this with $m=l^n$ gives that $A[l^n]$ is finite étale over $\overline{K}$ of degree
\begin{align*}
(l^n)^{2g}=l^{2gn}.
\end{align*}
Since $\overline{K}$ is algebraically closed, a finite étale group scheme over $\overline{K}$ is constant on its geometric points, and therefore
\begin{align*}
|G_n| = |A[l^n](\overline{K})| = l^{2gn}.
\end{align*}
[guided]
The point of passing to $\overline{K}$ is that finite étale group schemes over an algebraically closed field are completely detected by their geometric points. We apply the standard prime-to-characteristic torsion theorem for abelian varieties: for every integer $m$ with $m \neq 0$ and $m$ prime to $\operatorname{char}(K)$, the multiplication morphism
\begin{align*}
[m]_A: A_{\overline{K}} &\to A_{\overline{K}}
\end{align*}
is a finite étale isogeny of degree $m^{2g}$ (citing a result not yet in the wiki: Degree and Étaleness of Multiplication-by-$m$ on an Abelian Variety).
Here $m=l^n$ is prime to $\operatorname{char}(K)$ because $l$ is prime to $\operatorname{char}(K)$. Hence $A[l^n]=\ker([l^n]_A)$ is finite étale over $\overline{K}$ of degree
\begin{align*}
\deg([l^n]_A)=(l^n)^{2g}=l^{2gn}.
\end{align*}
Over an algebraically closed field, the degree of a finite étale group scheme equals the number of its geometric points. Therefore
\begin{align*}
|A[l^n](\overline{K})| = l^{2gn}.
\end{align*}
This is the numerical input that will determine the elementary divisors of $G_n$.
[/guided]
[/step]
[step:Show multiplication by $l$ gives surjective transition maps]
The morphism
\begin{align*}
[l]_A: A_{\overline{K}} &\to A_{\overline{K}}
\end{align*}
is an isogeny, hence is surjective on $\overline{K}$-points. Let $x \in G_n$. Choose $y \in A(\overline{K})$ such that $[l]_A(y)=x$. Then
\begin{align*}
[l^{n+1}]_A(y) = [l^n]_A([l]_A(y)) = [l^n]_A(x)=0,
\end{align*}
so $y \in G_{n+1}$. Hence $\rho_{n+1,n}:G_{n+1}\to G_n$ is surjective.
Moreover, the subgroup of elements of $G_n$ killed by $l$ is exactly $G_1$:
\begin{align*}
G_n[l] := \{x \in G_n : [l]_A(x)=0\} = A[l](\overline{K}) = G_1.
\end{align*}
Therefore
\begin{align*}
|G_n[l]| = |G_1| = l^{2g}.
\end{align*}
[/step]
[step:Apply the finite abelian group classification]
We claim that each $G_n$ is isomorphic to $(\mathbb{Z}/l^n\mathbb{Z})^{2g}$.
[claim:A finite abelian $l$-group with maximal possible order and prescribed $l$-torsion is free over $\mathbb{Z}/l^n\mathbb{Z}$]
Let $H$ be a finite abelian $l$-group killed by $l^n$. Suppose
\begin{align*}
|H| = l^{rn}
\end{align*}
and
\begin{align*}
|H[l]| = l^r,
\end{align*}
where $H[l]:=\{h\in H:lh=0\}$. Then
\begin{align*}
H \cong (\mathbb{Z}/l^n\mathbb{Z})^r.
\end{align*}
[/claim]
[proof]
By the elementary divisor [classification of finite abelian groups](/theorems/850) (citing a result not yet in the wiki: Classification of Finite Abelian Groups), there exist integers $a_1,\dots,a_s$ with
\begin{align*}
1 \leq a_i \leq n
\end{align*}
such that
\begin{align*}
H \cong \bigoplus_{i=1}^{s} \mathbb{Z}/l^{a_i}\mathbb{Z}.
\end{align*}
The subgroup killed by $l$ is then
\begin{align*}
H[l] \cong \bigoplus_{i=1}^{s} \mathbb{Z}/l\mathbb{Z},
\end{align*}
so $|H[l]|=l^s$. Since $|H[l]|=l^r$, we get $s=r$. Also
\begin{align*}
|H| = \prod_{i=1}^{r} l^{a_i}=l^{a_1+\cdots+a_r}.
\end{align*}
The equality $|H|=l^{rn}$ gives
\begin{align*}
a_1+\cdots+a_r = rn.
\end{align*}
Since each $a_i \leq n$, this equality forces $a_i=n$ for every $i$. Hence
\begin{align*}
H \cong \bigoplus_{i=1}^{r}\mathbb{Z}/l^n\mathbb{Z}
\cong (\mathbb{Z}/l^n\mathbb{Z})^r.
\end{align*}
[/proof]
Apply the claim to $H=G_n$ and $r=2g$. The group $G_n$ is killed by $l^n$ by definition, and the previous steps give
\begin{align*}
|G_n|=l^{2gn}
\end{align*}
and
\begin{align*}
|G_n[l]|=l^{2g}.
\end{align*}
Therefore
\begin{align*}
A[l^n](\overline{K})=G_n\cong(\mathbb{Z}/l^n\mathbb{Z})^{2g}.
\end{align*}
[guided]
We now translate the numerical information about $G_n$ into an actual group structure. The group $G_n$ is finite, abelian, and killed by $l^n$, because every element of $G_n=A[l^n](\overline{K})$ satisfies $[l^n]_A(x)=0$.
The elementary divisor classification of finite abelian groups says that a finite abelian $l$-group killed by $l^n$ decomposes as
\begin{align*}
G_n \cong \bigoplus_{i=1}^{s}\mathbb{Z}/l^{a_i}\mathbb{Z},
\end{align*}
where each $a_i$ is an integer satisfying $1\leq a_i\leq n$ (citing a result not yet in the wiki: Classification of Finite Abelian Groups). In this decomposition, the subgroup killed by $l$ is
\begin{align*}
G_n[l] \cong \bigoplus_{i=1}^{s}\mathbb{Z}/l\mathbb{Z}.
\end{align*}
Thus $|G_n[l]|=l^s$. From the previous step, $|G_n[l]|=l^{2g}$, so $s=2g$.
Next, the order of $G_n$ is
\begin{align*}
|G_n|=\prod_{i=1}^{2g}l^{a_i}=l^{a_1+\cdots+a_{2g}}.
\end{align*}
But we already computed
\begin{align*}
|G_n|=l^{2gn}.
\end{align*}
Therefore
\begin{align*}
a_1+\cdots+a_{2g}=2gn.
\end{align*}
Since each $a_i\leq n$, the only way the sum of $2g$ such integers can equal $2gn$ is that every $a_i$ equals $n$. Hence
\begin{align*}
G_n\cong(\mathbb{Z}/l^n\mathbb{Z})^{2g}.
\end{align*}
[/guided]
[/step]
[step:Pass to the inverse limit to identify the Tate module]
By definition,
\begin{align*}
T_lA=\varprojlim_n G_n
\end{align*}
with transition maps $\rho_{n+1,n}:G_{n+1}\to G_n$ given by multiplication by $l$. The preceding steps show that each $G_n$ is a free $\mathbb{Z}/l^n\mathbb{Z}$-module of rank $2g$, and the transition maps are surjective with kernel $G_1$. Choosing a basis of $G_1$ over $\mathbb{F}_l$ and lifting it successively through the surjective maps
\begin{align*}
G_{n+1} &\to G_n
\end{align*}
gives a compatible system of bases of the $G_n$ over $\mathbb{Z}/l^n\mathbb{Z}$. Therefore the inverse limit is isomorphic, as a $\mathbb{Z}_l$-module, to
\begin{align*}
\varprojlim_n(\mathbb{Z}/l^n\mathbb{Z})^{2g}
\cong
\mathbb{Z}_l^{2g}.
\end{align*}
Hence $T_lA$ is a free $\mathbb{Z}_l$-module of rank $2g$, as required.
[/step]