FTAG (Finite Abelian)
Statement
Fundamental Theorem of Finite Abelian Groups (FTAG). Every finite abelian group is isomorphic to a direct sum of cyclic groups of prime power order:
for primes (not necessarily distinct) and exponents . The multiset is uniquely determined by (primary decomposition). Equivalently, is a direct sum of cyclic groups of orders (invariant factor form), where .
Visualization
Explicit example: .
The map defined by :
| 0 | |
| 3 | |
| 6 | |
| 9 | |
| 4 | |
| 7 | |
| 10 | |
| 1 | |
| 8 | |
| 11 | |
| 2 | |
| 5 |
All 12 residues appear exactly once — is an isomorphism. This works because by the Chinese Remainder TheoremChinese Remainder TheoremSimultaneous congruences with coprime moduli have a unique solution mod their productRead more →.
All groups of order 8 (up to isomorphism):
| Group | Primary decomposition |
|---|---|
(Plus two non-abelian groups and — the theorem covers only abelian ones.)
Proof Sketch
- -primary decomposition. Write where is the -primary component. Each is a finite abelian -group.
- Cyclic decomposition of each . A finite abelian -group can be written as with . Proof: pick an element of maximal order, split off the cyclic subgroup it generates (using injectivity of divisible modules), and induct on .
- Uniqueness. Count elements of order in each decomposition to recover the exponents uniquely.
Connections
The theorem classifies all solutions to in , making it the abelian backbone of Sylow TheoremsSylow TheoremsPrime-power subgroups always exist, are conjugate, and their count is constrainedRead more → — once you know Sylow -subgroups exist, FTAG classifies all possible structures. The Chinese Remainder isomorphism when is the simplest instance of the decomposition, appearing in Chinese Remainder TheoremChinese Remainder TheoremSimultaneous congruences with coprime moduli have a unique solution mod their productRead more →.
Lean4 Proof
/-- The Fundamental Theorem of Finite Abelian Groups: every finite additive abelian group
is isomorphic to a direct sum of cyclic groups ZMod (p^e).
Mathlib: `AddCommGroup.equiv_directSum_zmod_of_finite`. -/
theorem ftag (G : Type*) [AddCommGroup G] [Finite G] :
∃ (ι : Type) (_ : Fintype ι) (p : ι → ℕ) (_ : ∀ i, Nat.Prime (p i)) (e : ι → ℕ),
Nonempty (G ≃+ ⨁ i : ι, ZMod (p i ^ e i)) :=
AddCommGroup.equiv_directSum_zmod_of_finite G