Skip to content

Commit 28cd001

Browse files
committed
feat: a finitely generated submonoid has a minimal generating set (#23904)
From Toric
1 parent b145a85 commit 28cd001

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

Mathlib/GroupTheory/Finiteness.lean

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,11 @@ theorem Submonoid.fg_iff (P : Submonoid M) :
5353
fun ⟨S, hS⟩ => ⟨S, hS, Finset.finite_toSet S⟩, fun ⟨S, hS, hf⟩ =>
5454
⟨Set.Finite.toFinset hf, by simp [hS]⟩⟩
5555

56+
/-- A finitely generated submonoid has a minimal generating set. -/
57+
@[to_additive "A finitely generated submonoid has a minimal generating set."]
58+
lemma Submonoid.FG.exists_minimal_closure_eq (hP : P.FG) :
59+
∃ S : Finset M, Minimal (closure ·.toSet = P) S := exists_minimal_of_wellFoundedLT _ hP
60+
5661
theorem Submonoid.fg_iff_add_fg (P : Submonoid M) : P.FG ↔ P.toAddSubmonoid.FG :=
5762
fun h =>
5863
let ⟨S, hS, hf⟩ := (Submonoid.fg_iff _).1 h
@@ -104,6 +109,13 @@ theorem Monoid.fg_iff :
104109
Monoid.FG M ↔ ∃ S : Set M, Submonoid.closure S = (⊤ : Submonoid M) ∧ S.Finite :=
105110
fun _ => (Submonoid.fg_iff ⊤).1 FG.fg_top, fun h => ⟨(Submonoid.fg_iff ⊤).2 h⟩⟩
106111

112+
variable (M) in
113+
/-- A finitely generated monoid has a minimal generating set. -/
114+
@[to_additive "A finitely generated monoid has a minimal generating set."]
115+
lemma Submonoid.exists_minimal_closure_eq_top [Monoid.FG M] :
116+
∃ S : Finset M, Minimal (Submonoid.closure ·.toSet = ⊤) S :=
117+
Monoid.FG.fg_top.exists_minimal_closure_eq
118+
107119
theorem Monoid.fg_iff_add_fg : Monoid.FG M ↔ AddMonoid.FG (Additive M) where
108120
mp _ := ⟨(Submonoid.fg_iff_add_fg ⊤).1 FG.fg_top⟩
109121
mpr h := ⟨(Submonoid.fg_iff_add_fg ⊤).2 h.fg_top⟩

0 commit comments

Comments
 (0)