Quotients of groups by normal subgroups #
This files develops the basic theory of quotients of groups by normal subgroups. In particular it proves Noether's first and second isomorphism theorems.
Main definitions #
mk'
: the canonical group homomorphismG →* G/N
given a normal subgroupN
ofG
.lift φ
: the group homomorphismG/N →* H
given a group homomorphismφ : G →* H
such thatN ⊆ ker φ
.map f
: the group homomorphismG/N →* H/M
given a group homomorphismf : G →* H
such thatN ⊆ f⁻¹(M)
.
Main statements #
QuotientGroup.quotientKerEquivRange
: Noether's first isomorphism theorem, an explicit isomorphismG/ker φ → range φ
for every group homomorphismφ : G →* H
.QuotientGroup.quotientInfEquivProdNormalQuotient
: Noether's second isomorphism theorem, an explicit isomorphism betweenH/(H ∩ N)
and(HN)/N
given a subgroupH
and a normal subgroupN
of a groupG
.QuotientGroup.quotientQuotientEquivQuotient
: Noether's third isomorphism theorem, the canonical isomorphism between(G / N) / (M / N)
andG / M
, whereN ≤ M
.
Tags #
isomorphism theorems, quotient groups
The additive congruence relation generated by a normal additive subgroup.
Equations
- QuotientAddGroup.con N = { toSetoid := QuotientAddGroup.leftRel N, add' := ⋯ }
The congruence relation generated by a normal subgroup.
Equations
- QuotientGroup.con N = { toSetoid := QuotientGroup.leftRel N, mul' := ⋯ }
Equations
Equations
The additive group homomorphism from G
to G/N
.
Equations
- QuotientAddGroup.mk' N = AddMonoidHom.mk' QuotientAddGroup.mk ⋯
The group homomorphism from G
to G/N
.
Equations
- QuotientGroup.mk' N = MonoidHom.mk' QuotientGroup.mk ⋯
Two AddMonoidHom
s from an additive quotient group are equal if
their compositions with AddQuotientGroup.mk'
are equal.
See note [partially-applied ext lemmas].
Two MonoidHom
s from a quotient group are equal if their compositions with
QuotientGroup.mk'
are equal.
See note [partially-applied ext lemmas].
Equations
- ⋯ = ⋯
Equations
Equations
An AddGroup
homomorphism φ : G →+ M
with N ⊆ ker(φ)
descends (i.e. lift
s)
to a group homomorphism G/N →* M
.
Equations
- QuotientAddGroup.lift N φ HN = AddCon.lift (QuotientAddGroup.con N) φ ⋯
A group homomorphism φ : G →* M
with N ⊆ ker(φ)
descends (i.e. lift
s) to a
group homomorphism G/N →* M
.
Equations
- QuotientGroup.lift N φ HN = Con.lift (QuotientGroup.con N) φ ⋯
An AddGroup
homomorphism f : G →+ H
induces a map G/N →+ H/M
if N ⊆ f⁻¹(M)
.
Equations
- QuotientAddGroup.map N M f h = QuotientAddGroup.lift N (AddMonoidHom.comp (QuotientAddGroup.mk' M) f) ⋯
A group homomorphism f : G →* H
induces a map G/N →* H/M
if N ⊆ f⁻¹(M)
.
Equations
- QuotientGroup.map N M f h = QuotientGroup.lift N (MonoidHom.comp (QuotientGroup.mk' M) f) ⋯
QuotientAddGroup.congr
lifts the isomorphism e : G ≃ H
to G ⧸ G' ≃ H ⧸ H'
,
given that e
maps G
to H
.
Equations
- One or more equations did not get rendered due to their size.
QuotientGroup.congr
lifts the isomorphism e : G ≃ H
to G ⧸ G' ≃ H ⧸ H'
,
given that e
maps G
to H
.
Equations
- One or more equations did not get rendered due to their size.
The induced map from the quotient by the kernel to the codomain.
Equations
The induced map from the quotient by the kernel to the codomain.
Equations
The induced map from the quotient by the kernel to the range.
Equations
The induced map from the quotient by the kernel to the range.
Equations
The first isomorphism theorem (a definition): the canonical isomorphism between
G/(ker φ)
to range φ
.
Noether's first isomorphism theorem (a definition): the canonical isomorphism between
G/(ker φ)
to range φ
.
The canonical isomorphism G/(ker φ) ≃+ H
induced by a homomorphism
φ : G →+ H
with a right inverse ψ : H → G
.
Equations
- One or more equations did not get rendered due to their size.
The canonical isomorphism G/(ker φ) ≃* H
induced by a homomorphism φ : G →* H
with a right inverse ψ : H → G
.
Equations
- One or more equations did not get rendered due to their size.
The canonical isomorphism G/⊥ ≃+ G
.
Equations
- QuotientAddGroup.quotientBot = QuotientAddGroup.quotientKerEquivOfRightInverse (AddMonoidHom.id G) id ⋯
The canonical isomorphism G/⊥ ≃* G
.
Equations
- QuotientGroup.quotientBot = QuotientGroup.quotientKerEquivOfRightInverse (MonoidHom.id G) id ⋯
The canonical isomorphism G/(ker φ) ≃+ H
induced by a surjection φ : G →+ H
.
For a computable
version, see QuotientAddGroup.quotientKerEquivOfRightInverse
.
The canonical isomorphism G/(ker φ) ≃* H
induced by a surjection φ : G →* H
.
For a computable
version, see QuotientGroup.quotientKerEquivOfRightInverse
.
Equations
If two normal subgroups M
and N
of G
are the same, their quotient groups are
isomorphic.
Equations
- QuotientAddGroup.quotientAddEquivOfEq h = let __src := AddSubgroup.quotientEquivOfEq h; { toEquiv := __src, map_add' := ⋯ }
If two normal subgroups M
and N
of G
are the same, their quotient groups are
isomorphic.
Equations
- QuotientGroup.quotientMulEquivOfEq h = let __src := Subgroup.quotientEquivOfEq h; { toEquiv := __src, map_mul' := ⋯ }
Let A', A, B', B
be subgroups of G
. If A' ≤ B'
and A ≤ B
, then there is a map
A / (A' ⊓ A) →+ B / (B' ⊓ B)
induced by the inclusions.
Equations
Let A', A, B', B
be subgroups of G
. If A' ≤ B'
and A ≤ B
,
then there is a map A / (A' ⊓ A) →* B / (B' ⊓ B)
induced by the inclusions.
Equations
- QuotientGroup.quotientMapSubgroupOfOfLe h' h = QuotientGroup.map (Subgroup.subgroupOf A' A) (Subgroup.subgroupOf B' B) (Subgroup.inclusion h) ⋯
Let A', A, B', B
be subgroups of G
. If A' = B'
and A = B
, then the quotients
A / (A' ⊓ A)
and B / (B' ⊓ B)
are isomorphic. Applying this equiv is nicer than rewriting along
the equalities, since the type of (A'.addSubgroupOf A : AddSubgroup A)
depends on on A
.
Let A', A, B', B
be subgroups of G
.
If A' = B'
and A = B
, then the quotients A / (A' ⊓ A)
and B / (B' ⊓ B)
are isomorphic.
Applying this equiv is nicer than rewriting along the equalities, since the type of
(A'.subgroupOf A : Subgroup A)
depends on A
.
The map of quotients by multiples of an integer induced by an additive group homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Equations
- ⋯ = ⋯
The map of quotients by powers of an integer induced by a group homomorphism.
Equations
The equivalence of quotients by multiples of an integer induced by an additive group isomorphism.
Equations
The equivalence of quotients by powers of an integer induced by a group isomorphism.
Equations
The second isomorphism theorem: given two subgroups H
and N
of a group G
, where
N
is normal, defines an isomorphism between H/(H ∩ N)
and (H + N)/N
Equations
- One or more equations did not get rendered due to their size.
Noether's second isomorphism theorem: given two subgroups H
and N
of a group G
, where
N
is normal, defines an isomorphism between H/(H ∩ N)
and (HN)/N
.
Equations
- One or more equations did not get rendered due to their size.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
The map from the third isomorphism theorem for additive groups:
(A / N) / (M / N) → A / M
.
Equations
The map from the third isomorphism theorem for groups: (G / N) / (M / N) → G / M
.
Equations
- QuotientGroup.quotientQuotientEquivQuotientAux N M h = QuotientGroup.lift (Subgroup.map (QuotientGroup.mk' N) M) (QuotientGroup.map N M (MonoidHom.id G) h) ⋯
Noether's third isomorphism theorem for additive groups: (A / N) / (M / N) ≃+ A / M
.
Equations
- One or more equations did not get rendered due to their size.
Noether's third isomorphism theorem for groups: (G / N) / (M / N) ≃* G / M
.
Equations
- One or more equations did not get rendered due to their size.
If the quotient by an additive subgroup gives a singleton then the additive subgroup is the whole additive group.
If the quotient by a subgroup gives a singleton then the subgroup is the whole group.
If F
and H
are finite such that ker(G →+ H) ≤ im(F →+ G)
, then G
is finite.
Equations
- AddGroup.fintypeOfKerLeRange f g h = Fintype.ofEquiv ((G ⧸ AddMonoidHom.ker g) × ↥(AddMonoidHom.ker g)) AddSubgroup.addGroupEquivQuotientProdAddSubgroup.symm
If F
and H
are finite such that ker(G →* H) ≤ im(F →* G)
, then G
is finite.
Equations
- Group.fintypeOfKerLeRange f g h = Fintype.ofEquiv ((G ⧸ MonoidHom.ker g) × ↥(MonoidHom.ker g)) Subgroup.groupEquivQuotientProdSubgroup.symm
If F
and H
are finite such that ker(G →+ H) = im(F →+ G)
, then G
is finite.
Equations
If F
and H
are finite such that ker(G →* H) = im(F →* G)
, then G
is finite.
Equations
- Group.fintypeOfKerEqRange f g h = Group.fintypeOfKerLeRange f g ⋯
If ker(G →+ H)
and H
are finite, then G
is finite.
Equations
- AddGroup.fintypeOfKerOfCodom g = AddGroup.fintypeOfKerLeRange (AddMonoidHom.comp (AddEquiv.toAddMonoidHom AddSubgroup.topEquiv) (AddSubgroup.inclusion ⋯)) g ⋯
If ker(G →* H)
and H
are finite, then G
is finite.
Equations
- Group.fintypeOfKerOfCodom g = Group.fintypeOfKerLeRange (MonoidHom.comp (MulEquiv.toMonoidHom Subgroup.topEquiv) (Subgroup.inclusion ⋯)) g ⋯
If F
and coker(F →+ G)
are finite, then G
is finite.
Equations
If F
and coker(F →* G)
are finite, then G
is finite.