Finitely generated monoids and groups #
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.
A submonoid of M 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.
An additive monoid is finitely generated if it is finitely generated as an additive submonoid of itself.
An equivalent expression of monoid.fg in terms of set.finite instead of finset.
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.
A subgroup of G is finitely generated if it is the closure of a finite subset of G.
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 equivalent expression of 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 _