Skip to content

Commit a7f025f

Browse files
committed
feat: add finitely presented instance for free groups (leanprover-community#38109)
Add `IsFinitelyPresented` instance for free groups Co-authored-by: Pablo Castellanos <p.cas.gar@gmail.com>
1 parent 4f7183f commit a7f025f

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

Mathlib/GroupTheory/FinitelyPresentedGroup.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ protected theorem map {N : Subgroup G} (hN : IsNormalClosureFG N)
4949
refine ⟨f '' S, hSfinite.image _, ?_⟩
5050
rw [← hSclosure, Subgroup.map_normalClosure _ _ hf]
5151

52+
/-- The trivial group is the normal closure of a finite set of relations. -/
53+
protected theorem bot : IsNormalClosureFG (⊥ : Subgroup G) :=
54+
⟨∅, Finite.of_subsingleton, normalClosure_empty⟩
55+
5256
end Subgroup.IsNormalClosureFG
5357

5458
/-- A group is finitely presented if it has a finite generating set such that the kernel
@@ -66,4 +70,11 @@ theorem equiv (iso : G ≃* H) (h : IsFinitelyPresented G) : IsFinitelyPresented
6670
refine ⟨n, (iso : G →* H).comp φ, iso.surjective.comp hφsurj, ?_⟩
6771
rwa [MonoidHom.ker_mulEquiv_comp φ iso]
6872

73+
/-- A free group (with a finite number of generators) is finitely presented. -/
74+
instance [Finite α] : Group.IsFinitelyPresented (FreeGroup α) := by
75+
have ⟨n, _, f, hf_surj, hf_inj⟩ := Finite.exists_equiv_fin α
76+
refine ⟨n, FreeGroup.map f, FreeGroup.map_surjective hf_surj.surjective, ?_⟩
77+
· rw [(FreeGroup.map f).ker_eq_bot_iff.mpr (FreeGroup.map_injective hf_inj.injective)]
78+
exact Subgroup.IsNormalClosureFG.bot
79+
6980
end Group.IsFinitelyPresented

0 commit comments

Comments
 (0)