Group generators as data #
Main definitions #
Group.Generators G ι: The generators of a group are given by a generating family indexed byιand an assignmentval : ι → Gsuch thatSubgroup.closure (Set.range val) = ⊤.
Main results #
Group.Generators.hom_ext: if two homomorphisms coincide on the elements of a generating family, then they are equal.Group.fg_iff_nonempty_finite_generators: a group is finitely generated if and only if it admits a finite generating family.
Implementation notes #
- The index type
ιis a parameter, not a field, following the pattern ofAlgebra.Generators. - Unlike
Algebra.Generators, this structure bundles no section ofFreeGroup.lift val, it just bundles a proof of surjectivity.
References #
Tags #
group generators, generating set, finitely generated
The generators of a group are given by a generating family indexed by ι and an assignment
val : ι → G such that Subgroup.closure (Set.range val) = ⊤.
- val : ι → G
The generating family itself:
val iis the element ofGindexed byi : ι. The subgroup closure of the generators is the whole group.
Instances For
theorem
Group.Generators.lift_val_surjective
{G : Type u_1}
{ι : Type u_3}
[Group G]
(P : Generators G ι)
:
def
Group.Generators.ofSet
{G : Type u_1}
[Group G]
{S : Set G}
(h : Subgroup.closure S = ⊤)
:
Generators G ↑S
The generating family obtained using a generating set S : Set G.
Equations
- Group.Generators.ofSet h = { val := Subtype.val, closure_eq_top := ⋯ }
Instances For
@[simp]
theorem
Group.Generators.ofSet_val
{G : Type u_1}
[Group G]
{S : Set G}
(hS : Subgroup.closure S = ⊤)
:
def
Group.Generators.map
{G : Type u_1}
{H : Type u_2}
{ι : Type u_3}
[Group G]
[Group H]
(P : Generators G ι)
(f : G →* H)
(hf : Function.Surjective ⇑f)
:
Generators H ι
The transport of a generating family along a surjective homomorphism.
Instances For
@[simp]
theorem
Group.Generators.map_val
{G : Type u_1}
{H : Type u_2}
{ι : Type u_3}
[Group G]
[Group H]
(P : Generators G ι)
(f : G →* H)
(hf : Function.Surjective ⇑f)
:
def
Group.Generators.reindex
{G : Type u_1}
{ι : Type u_3}
{ι' : Type u_4}
[Group G]
(P : Generators G ι)
(e : ι' ≃ ι)
:
Generators G ι'
The transport of a generating family along an equivalence of index types.
Instances For
theorem
Group.Generators.fg
{G : Type u_1}
{ι : Type u_3}
[Group G]
[Finite ι]
(P : Generators G ι)
:
FG G
If G has a finite generating family, then G is finitely generated.
A group is finitely generated if and only if it admits a finite generating family.