Free Group
Statement
For any set , the free group is a group together with a function satisfying the following universal property: for every group and every function , there exists a unique group homomorphism such that .
Elements of are reduced words — finite sequences of generators and their inverses , with consecutive cancellations and removed. The group operation is concatenation followed by reduction.
Visualization
Take , so — the free group on two generators.
Reduction in F_2:
a b a b⁻¹ a⁻¹
───────────── (nothing cancels — already reduced)
a b b⁻¹ a⁻¹
= a (b b⁻¹) a⁻¹
= a 1 a⁻¹
= a a⁻¹
= 1 (fully cancelled)
a a a⁻¹ b
= (a a a⁻¹) b
= a b (partial cancellation in the middle)
Universal property illustration — to define a homomorphism , it suffices to pick where and go:
| Generator | Image in |
|---|---|
Then , fully determined by .
Proof Sketch
- Construct as the set of reduced words over , with concatenation-then-reduce as multiplication. Verify this is a group (associativity follows from confluence of the reduction relation).
- Let be the single-letter word .
- Given , define on words by . Reduction steps map to , so is well-defined.
- Uniqueness: any homomorphism with must satisfy by the homomorphism property.
Connections
Free groups are the raw material from which all groups arise: every group is a quotient of a free group, making the First Isomorphism TheoremFirst Isomorphism TheoremThe image of a homomorphism is isomorphic to the domain modulo the kernelRead more → apply universally. Group presentations (next note) formalize this: for generators and relations . Free groups also appear in Cayley's TheoremCayley's TheoremEvery group embeds into a symmetric groupRead more → — the permutation representation of a group extends naturally to .
Lean4 Proof
import Mathlib.GroupTheory.FreeGroup.Basic
/-- **Universal property of the free group**: maps from FreeGroup α to G
are in bijection with functions α → G via `FreeGroup.lift`.
The lift satisfies `FreeGroup.lift f (FreeGroup.of x) = f x`. -/
theorem free_group_universal_property
{α G : Type*} [Group G] (f : α → G) (x : α) :
FreeGroup.lift f (FreeGroup.of x) = f x :=
FreeGroup.lift_apply_ofReferenced by
- Group PresentationGroup Theory