Solution (source code)

= Solution

A <composition series> is a finite chain
$$
1=G_0\triangleleft G_1\triangleleft\cdots\triangleleft G_r=G
$$
whose inclusions are strict and whose <quotient group>[quotients] $G_i/G_{i-1}$ are <simple group>[simple]. These <quotient group>[quotients] are the <composition factor>[composition factors]. The <normal subgroup> condition is relative to the next member, rather than necessarily to all of $G$.

Induct on the order of a <finite group>. The trivial <group> has the empty <composition series>. Otherwise choose a <maximal normal subgroup> $N\lneq G$, which exists because there are finitely many subgroups. The <subgroup correspondence theorem> identifies <normal subgroup>[normal subgroups] of $G/N$ with <normal subgroup>[normal subgroups] of $G$ containing $N$, so maximality makes $G/N$ a <simple group>. By induction $N$ has a <composition series>; appending $G$ gives one for $G$.

For example, the nonabelian <symmetric group> $S_3$ has
$$
1\triangleleft A_3\triangleleft S_3,
$$
with <composition factor>[composition factors] $C_3$ and $C_2$, both <abelian group>[abelian].