Group Presentation

lean4-proofgroup-theoryvisualization
GXR=F(X)/N(R)G \cong \langle X \mid R \rangle = F(X)/N(R)

Statement

A group presentation XR\langle X \mid R \rangle specifies a group as the quotient of the free group F(X)F(X) by the normal closure N(R)N(R) of a set of relations RF(X)R \subseteq F(X). Any group GG with generators XX satisfying relations RR admits a unique surjective homomorphism

π:F(X)G,ker(π)=N(R),GF(X)/N(R).\pi : F(X) \twoheadrightarrow G, \quad \ker(\pi) = N(R), \quad G \cong F(X)/N(R).

The presented group XR\langle X \mid R \rangle is universal: it maps to any group that satisfies the relations. Equivalently, to define a homomorphism XRG\langle X \mid R \rangle \to G, choose images of generators in GG that satisfy all relations in RR.

Visualization

D4=r,sr4,s2,(rs)2D_4 = \langle r, s \mid r^4, s^2, (rs)^2 \rangle — the dihedral group of order 8.

Generators: rr (rotation by 90°90°), ss (a reflection). Relations:

r⁴ = 1          (4 rotations return to identity)
s² = 1          (reflecting twice returns to identity)
(rs)² = 1       (i.e. rs = sr⁻¹, reflections don't commute with rotations)

Multiplication table for D4={1,r,r2,r3,s,rs,r2s,r3s}D_4 = \{1, r, r^2, r^3, s, rs, r^2s, r^3s\}:

\cdot11rrr2r^2r3r^3ssrsrs
1111rrr2r^2r3r^3ssrsrs
rrrrr2r^2r3r^311rsrsr2sr^2s
ssssr3sr^3sr2sr^2srsrs11r3r^3

To verify: (rs)(rs)=r(sr)s=r(r1s1)s=s1s=1(rs)(rs) = r(sr)s = r(r^{-1}s^{-1})s = s^{-1}s = 1 using sr=r1ssr = r^{-1}s from the relation (rs)2=1(rs)^2 = 1.

Proof Sketch

  1. Form F=F(X)F = F(X) and let N=N(R)N = N(R) be the normal closure of RR in FF. Define P=F/NP = F/N.
  2. The map ι:XP\iota : X \to P by ι(x)=xN\iota(x) = xN makes PP generated by images of XX satisfying all relations in RR (since rNr \in N implies rN=N=ePrN = N = e_P).
  3. Universality: given GG and f:XGf : X \to G satisfying relations RR, the free group lift f~:FG\tilde{f} : F \to G vanishes on N(R)N(R) (since ff satisfies all relations), hence factors through PP.
  4. Uniqueness follows from PP being generated by ι(X)\iota(X).

Connections

Presentations are the concrete side of the Free GroupFree GroupHom(F(X),G)GX\mathrm{Hom}(F(X),\, G) \cong G^XThe free group on a set X is the universal group with generators X and no relationsRead more →, which supplies the ambient object. The kernel of the quotient map is analyzed by the First Isomorphism TheoremFirst Isomorphism TheoremG/ker(f)im(f)G / \ker(f) \cong \operatorname{im}(f)The image of a homomorphism is isomorphic to the domain modulo the kernelRead more →. Presentations arise crucially in the Impossibility of the Quintic FormulaImpossibility of the Quintic FormulaS5 is not solvable    no radical formula for degree 5S_5 \text{ is not solvable} \implies \text{no radical formula for degree } \geq 5No general algebraic formula exists for polynomials of degree 5 or higherRead more →: the symmetric group S5S_5 has a presentation, and showing A5A_5 is simpleSimple GroupsG simpleNG,  N=1 or N=GG \text{ simple} \Longleftrightarrow \forall N \unlhd G,\; N = 1 \text{ or } N = GA simple group has no proper nontrivial normal subgroups; the atoms of group compositionRead more → via its presentation rules out a solvable composition series. The Correspondence TheoremCorrespondence Theorem{HG:NH}      {HˉG/N}\{H \leq G : N \leq H\} \;\ \longleftrightarrow\ \; \{\bar{H} \leq G/N\}Subgroups of G/N are in bijection with subgroups of G containing N, preserving the latticeRead more → translates subgroups of GG into subgroups of F(X)F(X) containing N(R)N(R).

Lean4 Proof

import Mathlib.GroupTheory.PresentedGroup

/-- The universal property of a presented group: given a function from generators
    to a group G that satisfies all relations, there is a unique group homomorphism
    from the presented group to G.
    Mathlib: `PresentedGroup.toGroup`. -/
theorem presented_group_universal
    {α G : Type*} [Group G]
    (rels : Set (FreeGroup α)) (f : α  G)
    (hf :  r  rels, FreeGroup.lift f r = 1) :
     φ : PresentedGroup rels * G,  x : α, φ (PresentedGroup.of x) = f x := by
  exact PresentedGroup.toGroup hf, fun x => by simp [PresentedGroup.toGroup]