Finitely generated monoids and groups #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define finitely generated monoids and groups. See also submodule.fg and module.finite for
finitely-generated modules.
Main definition #
submonoid.fg S,add_submonoid.fg S: A submonoidSis finitely generated.monoid.fg M,add_monoid.fg M: A typeclass indicating a typeMis finitely generated as a monoid.subgroup.fg S,add_subgroup.fg S: A subgroupSis finitely generated.group.fg M,add_group.fg M: A typeclass indicating a typeMis finitely generated as a group.
Monoids and submonoids #
An additive submonoid of N is finitely generated if it is the closure of a finite subset of
M.
An equivalent expression of submonoid.fg in terms of set.finite instead of finset.
An equivalent expression of add_submonoid.fg in terms of set.finite instead of
finset.
A monoid is finitely generated if it is finitely generated as a submonoid of itself.
Instances of this typeclass
An additive monoid is finitely generated if it is finitely generated as an additive submonoid of itself.
An equivalent expression of add_monoid.fg in terms of set.finite instead of
finset.
Groups and subgroups #
An additive subgroup of H is finitely generated if it is the closure of a finite subset of
H.
An equivalent expression of subgroup.fg in terms of set.finite instead of finset.
An equivalent expression of add_subgroup.fg in terms of set.finite instead of
finset.
A subgroup is finitely generated if and only if it is finitely generated as a submonoid.
An additive subgroup is finitely generated if and only if it is finitely generated as an additive submonoid.
A group is finitely generated if it is finitely generated as a submonoid of itself.
An additive group is finitely generated if it is finitely generated as an additive submonoid of itself.
An equivalent expression of add_group.fg in terms of set.finite instead of
finset.
An additive group is finitely generated if and only if it is finitely generated as an additive monoid.
The minimum number of generators of an additive group
Equations
- add_group.rank G = nat.find _
The minimum number of generators of a group.
Equations
- group.rank G = nat.find _