Skip to content

Commit befa148

Browse files
committed
instances
1 parent c276f69 commit befa148

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

Mathlib/GroupTheory/Finiteness.lean

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,20 +50,31 @@ This generalizes and will eventually replace the four existing definitions
5050
class IsAddFG (M : Type*) [Add M] : Prop where
5151
fg_top : ∃ S : Finset M, AddSubsemigroup.closure (S : Set M) = ⊤
5252

53+
section Mul
54+
55+
variable (M : Type*) [Mul M]
56+
5357
/-- A type with multiplication is finitely generated if there is a finite subset such that every
5458
element of the type can be written as a finite product of elements from this finite subset.
5559
5660
This generalizes and will eventually replace the four existing definitions
5761
`Submonoid.FG`, `Monoid.FG`, `Subgroup.FG`, and `Group.FG`. -/
5862
@[to_additive existing]
59-
class IsMulFG (M : Type*) [Mul M] : Prop where
63+
class IsMulFG : Prop where
6064
fg_top : ∃ S : Finset M, Subsemigroup.closure (S : Set M) = ⊤
6165

66+
variable {M}
67+
6268
@[to_additive]
63-
theorem isMulFG_def {M : Type*} [Mul M] :
64-
IsMulFG M ↔ ∃ S : Finset M, Subsemigroup.closure (S : Set M) = ⊤ :=
69+
theorem isMulFG_def : IsMulFG M ↔ ∃ S : Finset M, Subsemigroup.closure (S : Set M) = ⊤ :=
6570
fun h ↦ h.fg_top, fun h ↦ ⟨h⟩⟩
6671

72+
instance [Finite M] : IsMulFG M := by
73+
cases nonempty_fintype M
74+
exact ⟨Finset.univ, by simp⟩
75+
76+
end Mul
77+
6778
namespace Monoid
6879

6980
variable {M : Type*} [Monoid M]

0 commit comments

Comments
 (0)