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
The canonical surjection from the free group on the generators to G.
Equations
- P.lift = FreeGroup.lift P.val
Instances For
Alias of Group.Generators.lift_surjective.
The generating family obtained using a generating set S : Set G.
Equations
- Group.Generators.ofSet h = { val := Subtype.val, closure_eq_top := ⋯ }
Instances For
The generating family given by a the canonical surjection from FreeGroup ι.
Equations
- Group.Generators.ofFreeGroupHom φ hφ = { val := ⇑φ ∘ FreeGroup.of, closure_eq_top := ⋯ }
Instances For
The canonical surjection attached to ofFreeGroupHom φ hφ is φ.
The transport of a generating family along a surjective homomorphism.
Instances For
The transport of a generating family along a surjection of index types.
Instances For
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.