Complements #
In this file we define the complement of a subgroup.
Main definitions #
IsComplement S T
whereS
andT
are subsets ofG
states that everyg : G
can be written uniquely as a products * t
fors ∈ S
,t ∈ T
.leftTransversals T
whereT
is a subset ofG
is the set of all left-complements ofT
, i.e. the set of allS : Set G
that contain exactly one element of each left coset ofT
.rightTransversals S
whereS
is a subset ofG
is the set of all right-complements ofS
, i.e. the set of allT : Set G
that contain exactly one element of each right coset ofS
.transferTransversal H g
is a specificleftTransversal
ofH
that is used in the computation of the transfer homomorphism evaluated at an elementg : G
.
Main results #
isComplement'_of_coprime
: Subgroups of coprime order are complements.
S
and T
are complements if (+) : S × T → G
is a bijection
Equations
- AddSubgroup.IsComplement S T = Function.Bijective fun (x : ↑S × ↑T) => ↑x.1 + ↑x.2
Instances For
S
and T
are complements if (*) : S × T → G
is a bijection.
This notion generalizes left transversals, right transversals, and complementary subgroups.
Equations
- Subgroup.IsComplement S T = Function.Bijective fun (x : ↑S × ↑T) => ↑x.1 * ↑x.2
Instances For
H
and K
are complements if (+) : H × K → G
is a bijection
Equations
- H.IsComplement' K = AddSubgroup.IsComplement ↑H ↑K
Instances For
H
and K
are complements if (*) : H × K → G
is a bijection
Equations
- H.IsComplement' K = Subgroup.IsComplement ↑H ↑K
Instances For
The set of left-complements of T : Set G
Equations
- AddSubgroup.leftTransversals T = {S : Set G | AddSubgroup.IsComplement S T}
Instances For
The set of left-complements of T : Set G
Equations
- Subgroup.leftTransversals T = {S : Set G | Subgroup.IsComplement S T}
Instances For
The set of right-complements of S : Set G
Equations
- AddSubgroup.rightTransversals S = {T : Set G | AddSubgroup.IsComplement S T}
Instances For
The set of right-complements of S : Set G
Equations
- Subgroup.rightTransversals S = {T : Set G | Subgroup.IsComplement S T}
Instances For
The equivalence G ≃ S × T
, such that the inverse is (*) : S × T → G
Equations
- hST.equiv = (Equiv.ofBijective (fun (x : ↑S × ↑T) => ↑x.1 * ↑x.2) hST).symm
Instances For
A left transversal is in bijection with left cosets.
Equations
- AddSubgroup.MemLeftTransversals.toEquiv hS = (Equiv.ofBijective (S.restrict Quotient.mk'') ⋯).symm
Instances For
A left transversal is in bijection with left cosets.
Equations
- Subgroup.MemLeftTransversals.toEquiv hS = (Equiv.ofBijective (S.restrict Quotient.mk'') ⋯).symm
Instances For
A left transversal is finite iff the subgroup has finite index
A left transversal can be viewed as a function mapping each element of the group to the chosen representative from that left coset.
Equations
- AddSubgroup.MemLeftTransversals.toFun hS = ⇑(AddSubgroup.MemLeftTransversals.toEquiv hS) ∘ Quotient.mk''
Instances For
A left transversal can be viewed as a function mapping each element of the group to the chosen representative from that left coset.
Equations
- Subgroup.MemLeftTransversals.toFun hS = ⇑(Subgroup.MemLeftTransversals.toEquiv hS) ∘ Quotient.mk''
Instances For
A right transversal is in bijection with right cosets.
Equations
- AddSubgroup.MemRightTransversals.toEquiv hS = (Equiv.ofBijective (S.restrict Quotient.mk'') ⋯).symm
Instances For
A right transversal is in bijection with right cosets.
Equations
- Subgroup.MemRightTransversals.toEquiv hS = (Equiv.ofBijective (S.restrict Quotient.mk'') ⋯).symm
Instances For
A right transversal is finite iff the subgroup has finite index
A right transversal can be viewed as a function mapping each element of the group to the chosen representative from that right coset.
Equations
- AddSubgroup.MemRightTransversals.toFun hS = ⇑(AddSubgroup.MemRightTransversals.toEquiv hS) ∘ Quotient.mk''
Instances For
A right transversal can be viewed as a function mapping each element of the group to the chosen representative from that right coset.
Equations
- Subgroup.MemRightTransversals.toFun hS = ⇑(Subgroup.MemRightTransversals.toEquiv hS) ∘ Quotient.mk''
Instances For
Equations
- AddSubgroup.instAddActionElemSetLeftTransversalsCoe = AddAction.mk ⋯ ⋯
Equations
- Subgroup.instMulActionElemSetLeftTransversalsCoe = MulAction.mk ⋯ ⋯
Partition G ⧸ H
into orbits of the action of g : G
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The transfer transversal as a function. Given a ⟨g⟩
-orbit q₀, g • q₀, ..., g ^ (m - 1) • q₀
in G ⧸ H
, an element g ^ k • q₀
is mapped to g ^ k • g₀
for a fixed choice of
representative g₀
of q₀
.
Equations
- H.transferFunction g q = g ^ ((H.quotientEquivSigmaZMod g) q).snd.cast * Quotient.out' (Quotient.out' ((H.quotientEquivSigmaZMod g) q).fst)
Instances For
The transfer transversal as a set. Contains elements of the form g ^ k • g₀
for fixed choices
of representatives g₀
of fixed choices of representatives q₀
of ⟨g⟩
-orbits in G ⧸ H
.
Instances For
The transfer transversal. Contains elements of the form g ^ k • g₀
for fixed choices
of representatives g₀
of fixed choices of representatives q₀
of ⟨g⟩
-orbits in G ⧸ H
.
Equations
- H.transferTransversal g = ⟨H.transferSet g, ⋯⟩