Lattice structure of subgroups #
We prove subgroups of a group form a complete lattice.
There are also theorems about the subgroups generated by an element or a subset of a group, defined both inductively and as the infimum of the set of subgroups containing a given element/subset.
Special thanks goes to Amelia Livingston and Yury Kudryashov for their help and inspiration.
Main definitions #
Notation used here:
G
is aGroup
k
is a set of elements of typeG
Definitions in the file:
CompleteLattice (Subgroup G)
: the subgroups ofG
form a complete latticeSubgroup.closure k
: the minimal subgroup that includes the setk
Subgroup.gi
:closure
forms a Galois insertion with the coercion to set
Implementation notes #
Subgroup inclusion is denoted ≤
rather than ⊆
, although ∈
is defined as
membership of a subgroup's underlying set.
Tags #
subgroup, subgroups
Conversion to/from Additive
/Multiplicative
#
Subgroups of a group G
are isomorphic to additive subgroups of Additive G
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Additive subgroups of an additive group A
are isomorphic to subgroups of Multiplicative A
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Subgroups of an additive group Multiplicative A
are isomorphic to additive subgroups of A
.
Equations
- Subgroup.toAddSubgroup' = AddSubgroup.toSubgroup.symm
Instances For
The AddSubgroup G
of the AddGroup G
.
The top subgroup is isomorphic to the group.
This is the group version of Submonoid.topEquiv
.
Equations
- Subgroup.topEquiv = Submonoid.topEquiv
Instances For
The top additive subgroup is isomorphic to the additive group.
This is the additive group version of AddSubmonoid.topEquiv
.
Equations
- AddSubgroup.topEquiv = AddSubmonoid.topEquiv
Instances For
The trivial AddSubgroup
{0}
of an AddGroup
G
.
A subgroup is either the trivial subgroup or nontrivial.
A subgroup is either the trivial subgroup or nontrivial.
A subgroup is either the trivial subgroup or contains a nonzero element.
The inf of two AddSubgroup
s is their intersection.
Equations
- AddSubgroup.instMin = { min := fun (H₁ H₂ : AddSubgroup G) => let __src := H₁.toAddSubmonoid ⊓ H₂.toAddSubmonoid; { toAddSubmonoid := __src, neg_mem' := ⋯ } }
Equations
- AddSubgroup.instInfSet = { sInf := fun (s : Set (AddSubgroup G)) => let __src := (⨅ S ∈ s, S.toAddSubmonoid).copy (⋂ S ∈ s, ↑S) ⋯; { toAddSubmonoid := __src, neg_mem' := ⋯ } }
Subgroups of a group form a complete lattice.
Equations
- Subgroup.instCompleteLattice = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The AddSubgroup
s of an AddGroup
form a complete lattice.
Equations
- AddSubgroup.instCompleteLattice = CompleteLattice.mk ⋯ ⋯ ⋯ ⋯ ⋯ ⋯
The AddSubgroup
generated by a set
Equations
- AddSubgroup.closure k = sInf {K : AddSubgroup G | k ⊆ ↑K}
Instances For
The subgroup generated by a set includes the set.
The AddSubgroup
generated by a set includes the set.
An additive subgroup K
includes closure k
if and only if it includes k
An induction principle for closure membership. If p
holds for 1
and all elements of k
, and
is preserved under multiplication and inverse, then p
holds for all elements of the closure
of k
.
See also Subgroup.closure_induction_left
and Subgroup.closure_induction_right
for versions that
only require showing p
is preserved by multiplication by elements in k
.
An induction principle for additive closure membership. If p
holds for 0
and all elements of k
, and is preserved under addition and inverses, then p
holds for all elements of the additive closure of k
.
See also AddSubgroup.closure_induction_left
and AddSubgroup.closure_induction_left
for
versions that only require showing p
is preserved by addition by elements in k
.
Alias of Subgroup.closure_induction
.
An induction principle for closure membership. If p
holds for 1
and all elements of k
, and
is preserved under multiplication and inverse, then p
holds for all elements of the closure
of k
.
See also Subgroup.closure_induction_left
and Subgroup.closure_induction_right
for versions that
only require showing p
is preserved by multiplication by elements in k
.
An induction principle for closure membership for predicates with two arguments.
An induction principle for additive closure membership, for predicates with two arguments.
closure
forms a Galois insertion with the coercion to set.
Equations
- Subgroup.gi G = { choice := fun (s : Set G) (x : ↑(Subgroup.closure s) ≤ s) => Subgroup.closure s, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
closure
forms a Galois insertion with the coercion to set.
Equations
- AddSubgroup.gi G = { choice := fun (s : Set G) (x : ↑(AddSubgroup.closure s) ≤ s) => AddSubgroup.closure s, gc := ⋯, le_l_u := ⋯, choice_eq := ⋯ }
Instances For
Closure of a subgroup K
equals K
.
Additive closure of an additive subgroup K
equals K
The subgroup generated by an element of a group equals the set of integer number powers of the element.
The AddSubgroup
generated by an element of an AddGroup
equals the set of
natural number multiples of the element.