Basic results on subgroups #
We prove basic results on the definitions of subgroups. The bundled subgroups use bundled monoid homomorphisms.
Special thanks goes to Amelia Livingston and Yury Kudryashov for their help and inspiration.
Main definitions #
Notation used here:
G N
areGroup
sA
is anAddGroup
H K
areSubgroup
s ofG
orAddSubgroup
s ofA
x
is an element of typeG
or typeA
f g : N →* G
are group homomorphismss k
are sets of elements of typeG
Definitions in the file:
Subgroup.prod H K
: the product of subgroupsH
,K
of groupsG
,N
respectively,H × K
is a subgroup ofG × N
Implementation notes #
Subgroup inclusion is denoted ≤
rather than ⊆
, although ∈
is defined as
membership of a subgroup's underlying set.
Tags #
subgroup, subgroups
Given AddSubgroup
s H
, K
of AddGroup
s A
, B
respectively, H × K
as an AddSubgroup
of A × B
.
Equations
- H.prod K = { toAddSubmonoid := H.prod K.toAddSubmonoid, neg_mem' := ⋯ }
Instances For
Product of additive subgroups is isomorphic to their product as additive groups
Equations
- H.prodEquiv K = { toEquiv := Equiv.Set.prod ↑H ↑K, map_add' := ⋯ }
Instances For
A version of Set.pi
for submonoids. Given an index set I
and a family of submodules
s : Π i, Submonoid f i
, pi I s
is the submonoid of dependent functions f : Π i, f i
such that
f i
belongs to Pi I s
whenever i ∈ I
.
Equations
- Submonoid.pi I s = { carrier := I.pi fun (i : η) => (s i).carrier, mul_mem' := ⋯, one_mem' := ⋯ }
Instances For
A version of Set.pi
for AddSubmonoid
s. Given an index set I
and a family
of submodules s : Π i, AddSubmonoid f i
, pi I s
is the AddSubmonoid
of dependent functions
f : Π i, f i
such that f i
belongs to pi I s
whenever i ∈ I
.
Equations
- AddSubmonoid.pi I s = { carrier := I.pi fun (i : η) => (s i).carrier, add_mem' := ⋯, zero_mem' := ⋯ }
Instances For
A version of Set.pi
for subgroups. Given an index set I
and a family of submodules
s : Π i, Subgroup f i
, pi I s
is the subgroup of dependent functions f : Π i, f i
such that
f i
belongs to pi I s
whenever i ∈ I
.
Equations
- Subgroup.pi I H = { toSubmonoid := Submonoid.pi I fun (i : η) => (H i).toSubmonoid, inv_mem' := ⋯ }
Instances For
A version of Set.pi
for AddSubgroup
s. Given an index set I
and a family
of submodules s : Π i, AddSubgroup f i
, pi I s
is the AddSubgroup
of dependent functions
f : Π i, f i
such that f i
belongs to pi I s
whenever i ∈ I
.
Equations
- AddSubgroup.pi I H = { toAddSubmonoid := AddSubmonoid.pi I fun (i : η) => (H i).toAddSubmonoid, neg_mem' := ⋯ }
Instances For
A subgroup is characteristic if it is fixed by all automorphisms.
Several equivalent conditions are provided by lemmas of the form Characteristic.iff...
- fixed : ∀ (ϕ : G ≃* G), Subgroup.comap ϕ.toMonoidHom H = H
H
is fixed by all automorphisms
Instances
An AddSubgroup
is characteristic if it is fixed by all automorphisms.
Several equivalent conditions are provided by lemmas of the form Characteristic.iff...
- fixed : ∀ (ϕ : A ≃+ A), AddSubgroup.comap ϕ.toAddMonoidHom H = H
H
is fixed by all automorphisms
Instances
The preimage of the normalizer is contained in the normalizer of the preimage.
The preimage of the normalizer is contained in the normalizer of the preimage.
The image of the normalizer is contained in the normalizer of the image.
The image of the normalizer is contained in the normalizer of the image.
Every proper subgroup H
of G
is a proper normal subgroup of the normalizer of H
in G
.
Equations
- NormalizerCondition G = ∀ H < ⊤, H < H.normalizer
Instances For
Alternative phrasing of the normalizer condition: Only the full group is self-normalizing. This may be easier to work with, as it avoids inequalities and negations.
Given a set s
, conjugatesOfSet s
is the set of all conjugates of
the elements of s
.
Equations
- Group.conjugatesOfSet s = ⋃ a ∈ s, conjugatesOf a
Instances For
The set of conjugates of s
is closed under conjugation.
The normal closure of a set s
is the subgroup closure of all the conjugates of
elements of s
. It is the smallest normal subgroup containing s
.
Equations
Instances For
The normal closure of s
is a normal subgroup.
The normal core of a subgroup H
is the largest normal subgroup of G
contained in H
,
as shown by Subgroup.normalCore_eq_iSup
.
Equations
Instances For
The preimage of the normalizer is equal to the normalizer of the preimage of a surjective function.
The preimage of the normalizer is equal to the normalizer of the preimage of a surjective function.
The image of the normalizer is equal to the normalizer of the image of an isomorphism.
The image of the normalizer is equal to the normalizer of the image of an isomorphism.
The image of the normalizer is equal to the normalizer of the image of a bijective function.
The image of the normalizer is equal to the normalizer of the image of a bijective function.
Auxiliary definition used to define liftOfRightInverse
Equations
- f.liftOfRightInverseAux f_inv hf g hg = { toFun := fun (b : G₂) => g (f_inv b), map_one' := ⋯, map_mul' := ⋯ }
Instances For
Auxiliary definition used to define liftOfRightInverse
Equations
- f.liftOfRightInverseAux f_inv hf g hg = { toFun := fun (b : G₂) => g (f_inv b), map_zero' := ⋯, map_add' := ⋯ }
Instances For
liftOfRightInverse f hf g hg
is the unique group homomorphism φ
- such that
φ.comp f = g
(MonoidHom.liftOfRightInverse_comp
), - where
f : G₁ →+* G₂
has a RightInversef_inv
(hf
), - and
g : G₂ →+* G₃
satisfieshg : f.ker ≤ g.ker
.
See MonoidHom.eq_liftOfRightInverse
for the uniqueness lemma.
G₁.
| \
f | \ g
| \
v \⌟
G₂----> G₃
∃!φ
Equations
- One or more equations did not get rendered due to their size.
Instances For
liftOfRightInverse f f_inv hf g hg
is the unique additive group homomorphism φ
- such that
φ.comp f = g
(AddMonoidHom.liftOfRightInverse_comp
), - where
f : G₁ →+ G₂
has a RightInversef_inv
(hf
), - and
g : G₂ →+ G₃
satisfieshg : f.ker ≤ g.ker
. SeeAddMonoidHom.eq_liftOfRightInverse
for the uniqueness lemma.
G₁.
| \
f | \ g
| \
v \⌟
G₂----> G₃
∃!φ
Equations
- One or more equations did not get rendered due to their size.
Instances For
A non-computable version of MonoidHom.liftOfRightInverse
for when no computable right
inverse is available, that uses Function.surjInv
.
Equations
- f.liftOfSurjective hf = f.liftOfRightInverse (Function.surjInv hf) ⋯
Instances For
A non-computable version of AddMonoidHom.liftOfRightInverse
for when no
computable right inverse is available.
Equations
- f.liftOfSurjective hf = f.liftOfRightInverse (Function.surjInv hf) ⋯
Instances For
Elements of disjoint, normal subgroups commute.
The conjugacy classes that are not trivial.
Equations
- ConjClasses.noncenter G = {x : ConjClasses G | x.carrier.Nontrivial}