[proofplan]
Two filtrations $(M_n)$ and $(N_n)$ of $M$ are equivalent when there exists $c \geq 0$ with $M_{n+c} \subseteq N_n$ and $N_{n+c} \subseteq M_n$ for all $n \geq 0$. We establish both inclusions between $(M_n)$ and $(\mathfrak{a}^n M)$ with shift $c = n_0$ (the stability threshold). The inclusion $\mathfrak{a}^n M \subseteq M_n$ follows by iterating the filtration property $\mathfrak{a} M_k \subseteq M_{k+1}$, and the reverse inclusion $M_{n+n_0} \subseteq \mathfrak{a}^n M$ follows from the stability condition $M_{n_0+r} = \mathfrak{a}^r M_{n_0} \subseteq \mathfrak{a}^r M$.
[/proofplan]
[step:Show $\mathfrak{a}^n M \subseteq M_n$ for all $n \geq 0$ by iterating the filtration property]
Since $(M_n)_{n \geq 0}$ is an $\mathfrak{a}$-filtration of $M$, we have $M_0 = M$ and $\mathfrak{a} M_n \subseteq M_{n+1}$ for all $n \geq 0$. We prove $\mathfrak{a}^n M \subseteq M_n$ by induction on $n$.
**Base case ($n = 0$).** $\mathfrak{a}^0 M = M = M_0$.
**Inductive step.** Assume $\mathfrak{a}^n M \subseteq M_n$. Then
\begin{align*}
\mathfrak{a}^{n+1} M = \mathfrak{a} \cdot \mathfrak{a}^n M \subseteq \mathfrak{a} M_n \subseteq M_{n+1},
\end{align*}
where the first inclusion uses the inductive hypothesis and the second uses the filtration property.
Hence $\mathfrak{a}^n M \subseteq M_n$ for all $n \geq 0$.
[guided]
The filtration property $\mathfrak{a} M_n \subseteq M_{n+1}$ is the defining axiom of an $\mathfrak{a}$-filtration (along with $M_0 = M$ and the descending condition $M_n \supseteq M_{n+1}$). Iterating this property starting from $M_0 = M$ gives:
\begin{align*}
\mathfrak{a} M &= \mathfrak{a} M_0 \subseteq M_1, \\
\mathfrak{a}^2 M &= \mathfrak{a}(\mathfrak{a} M) \subseteq \mathfrak{a} M_1 \subseteq M_2, \\
&\ \vdots \\
\mathfrak{a}^n M &\subseteq M_n.
\end{align*}
Each step applies the filtration property once. This says the $\mathfrak{a}$-adic filtration decreases at least as fast as the given filtration — the $\mathfrak{a}$-adic filtration lies "below" $(M_n)$ at every index. This is one direction of the equivalence.
[/guided]
[/step]
[step:Show $M_{n + n_0} \subseteq \mathfrak{a}^n M$ for all $n \geq 0$ using stability]
By stability, there exists $n_0 \geq 0$ such that $\mathfrak{a} M_n = M_{n+1}$ for all $n \geq n_0$. Iterating this equality $r$ times starting from $n = n_0$:
\begin{align*}
M_{n_0 + r} = \mathfrak{a}^r M_{n_0} \quad \text{for all } r \geq 0.
\end{align*}
Since $M_{n_0} \subseteq M_0 = M$, we have $\mathfrak{a}^r M_{n_0} \subseteq \mathfrak{a}^r M$ for all $r \geq 0$. Therefore
\begin{align*}
M_{n + n_0} = \mathfrak{a}^n M_{n_0} \subseteq \mathfrak{a}^n M \quad \text{for all } n \geq 0.
\end{align*}
[guided]
This is where stability is essential. Without stability, the filtration $(M_n)$ could decrease much more slowly than the $\mathfrak{a}$-adic filtration, making the reverse inclusion fail.
The stability condition says that from index $n_0$ onwards, the filtration is "driven by $\mathfrak{a}$": each successive term is obtained by multiplying the previous one by $\mathfrak{a}$. Iterating:
\begin{align*}
M_{n_0 + 1} &= \mathfrak{a} M_{n_0}, \\
M_{n_0 + 2} &= \mathfrak{a} M_{n_0+1} = \mathfrak{a}^2 M_{n_0}, \\
&\ \vdots \\
M_{n_0 + r} &= \mathfrak{a}^r M_{n_0}.
\end{align*}
Since $M_{n_0}$ is a submodule of $M$, we have $\mathfrak{a}^r M_{n_0} \subseteq \mathfrak{a}^r M$. This gives the inclusion $M_{n+n_0} \subseteq \mathfrak{a}^n M$ for all $n \geq 0$, which says the given filtration eventually lies "below" the $\mathfrak{a}$-adic filtration (up to a shift of $n_0$).
[/guided]
[/step]
[step:Combine to establish equivalence of the two filtrations]
From the first step, $\mathfrak{a}^n M \subseteq M_n$ for all $n \geq 0$. In particular, $\mathfrak{a}^{n+n_0} M \subseteq M_{n+n_0} \subseteq M_n$ for all $n \geq 0$ (the second inclusion uses the descending property of the filtration). From the second step, $M_{n+n_0} \subseteq \mathfrak{a}^n M$ for all $n \geq 0$.
Taking $c = n_0$, we have:
\begin{align*}
\mathfrak{a}^{n+c} M \subseteq M_n \quad \text{and} \quad M_{n+c} \subseteq \mathfrak{a}^n M \quad \text{for all } n \geq 0.
\end{align*}
This is the definition of the filtrations $(M_n)$ and $(\mathfrak{a}^n M)$ being equivalent.
Since every stable $\mathfrak{a}$-filtration is equivalent to the $\mathfrak{a}$-adic filtration $(\mathfrak{a}^n M)$, and equivalence of filtrations is transitive (if $(M_n) \sim (\mathfrak{a}^n M)$ and $(M'_n) \sim (\mathfrak{a}^n M)$, then $(M_n) \sim (M'_n)$ with shift constant the sum of the two individual shift constants), all stable $\mathfrak{a}$-filtrations of $M$ are equivalent to each other.
[/step]