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:
Gis aGroupkis a set of elements of typeG
Definitions in the file:
CompleteLattice (Subgroup G): the subgroups ofGform a complete latticeSubgroup.closure k: the minimal subgroup that includes the setkSubgroup.gi:closureforms 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 subgroup of an additive group Additive G are isomorphic to subgroup of G.
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.
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
Instances For
The top additive subgroup is isomorphic to the additive group.
This is the additive group version of AddSubmonoid.topEquiv.
Equations
Instances For
The trivial AddSubgroup {0} of an AddGroup G.
Equations
- AddSubgroup.instInhabited = { default := ⊥ }
Equations
- Subgroup.instUniqueSubtypeMemBot = { default := 1, uniq := ⋯ }
Equations
- AddSubgroup.instUniqueSubtypeMemBot = { default := 0, uniq := ⋯ }
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 subgroups is their intersection.
Equations
- Subgroup.instMin = { min := fun (H₁ H₂ : Subgroup G) => let __src := H₁.toSubmonoid ⊓ H₂.toSubmonoid; { toSubmonoid := __src, inv_mem' := ⋯ } }
The inf of two AddSubgroups 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
- One or more equations did not get rendered due to their size.
The AddSubgroups of an AddGroup form a complete lattice.
Equations
- One or more equations did not get rendered due to their size.
Equations
- Subgroup.instUniqueOfSubsingleton = { default := ⊥, uniq := ⋯ }
Equations
- AddSubgroup.instUniqueOfSubsingleton = { default := ⊥, uniq := ⋯ }
The AddSubgroup generated by a set
Equations
- AddSubgroup.closure k = sInf {K : AddSubgroup G | k ⊆ ↑K}
Instances For
The AddSubgroup generated by a set includes the set.
Alias of AddSubgroup.notMem_of_notMem_closure.
Alias of Subgroup.notMem_of_notMem_closure.
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.
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
Additive closure of an additive subgroup K equals K