[step:Derive Schreier's refinement theorem from Zassenhaus]Recall: a **subnormal series** of $G$ is a chain $G = G_0 \triangleright G_1 \triangleright \cdots \triangleright G_r = \{e\}$ with each $G_{i+1} \triangleleft G_i$. A **refinement** of such a series inserts more terms between existing ones (preserving subnormality). Two subnormal series are **equivalent** if they have the same length and their factors agree up to permutation and isomorphism.
[claim:Schreier's refinement theorem]
Any two subnormal series of $G$ have equivalent refinements.
[proof]
Let
\begin{align*}
G &= G_0 \triangleright G_1 \triangleright \cdots \triangleright G_r = \{e\}, \\
G &= H_0 \triangleright H_1 \triangleright \cdots \triangleright H_s = \{e\}
\end{align*}
be two subnormal series. For each $i \in \{0, \ldots, r-1\}$ and $j \in \{0, \ldots, s\}$, define
\begin{align*}
G_{i,j} := G_{i+1}(G_i \cap H_j).
\end{align*}
Then $G_{i,0} = G_{i+1}(G_i \cap G) = G_i$ and $G_{i,s} = G_{i+1}(G_i \cap \{e\}) = G_{i+1}$, so the chain
\begin{align*}
G_i = G_{i,0} \supseteq G_{i,1} \supseteq \cdots \supseteq G_{i,s} = G_{i+1}
\end{align*}
inserts $s$ subgroups between $G_i$ and $G_{i+1}$. Concatenating these refined chunks for $i = 0, 1, \ldots, r-1$ produces a refinement of the first series of length $rs$. Symmetrically, define
\begin{align*}
H_{j,i} := H_{j+1}(H_j \cap G_i)
\end{align*}
for $j \in \{0, \ldots, s-1\}$, $i \in \{0, \ldots, r\}$, producing a refinement of the second series, also of length $rs$.
By Zassenhaus's butterfly lemma applied with $A_0 = G_{i+1}$, $A = G_i$, $B_0 = H_{j+1}$, $B = H_j$, we obtain
\begin{align*}
\frac{G_{i,j}}{G_{i,j+1}} = \frac{G_{i+1}(G_i \cap H_j)}{G_{i+1}(G_i \cap H_{j+1})} \cong \frac{H_{j+1}(H_j \cap G_i)}{H_{j+1}(H_j \cap G_{i+1})} = \frac{H_{j,i}}{H_{j,i+1}}.
\end{align*}
This pairs the $rs$ factors of the first refinement bijectively with the $rs$ factors of the second refinement, with corresponding factors isomorphic. Hence the two refinements are equivalent.
[/proof]
[/claim][/step]