Documentation

Mathlib.GroupTheory.Transfer

The Transfer Homomorphism #

In this file we construct the transfer homomorphism.

Main definitions #

Main results #

noncomputable def Subgroup.leftTransversals.diff {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) (S T : H.LeftTransversal) [H.FiniteIndex] :
A

The difference of two left transversals

Equations
    Instances For
      noncomputable def AddSubgroup.leftTransversals.diff {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) (S T : H.LeftTransversal) [H.FiniteIndex] :
      A

      The difference of two left transversals

      Equations
        Instances For
          theorem Subgroup.leftTransversals.diff_mul_diff {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) (R S T : H.LeftTransversal) [H.FiniteIndex] :
          diff ϕ R S * diff ϕ S T = diff ϕ R T
          theorem AddSubgroup.leftTransversals.diff_add_diff {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) (R S T : H.LeftTransversal) [H.FiniteIndex] :
          diff ϕ R S + diff ϕ S T = diff ϕ R T
          theorem Subgroup.leftTransversals.diff_self {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) (T : H.LeftTransversal) [H.FiniteIndex] :
          diff ϕ T T = 1
          theorem AddSubgroup.leftTransversals.diff_self {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) (T : H.LeftTransversal) [H.FiniteIndex] :
          diff ϕ T T = 0
          theorem Subgroup.leftTransversals.diff_inv {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) (S T : H.LeftTransversal) [H.FiniteIndex] :
          (diff ϕ S T)⁻¹ = diff ϕ T S
          theorem AddSubgroup.leftTransversals.diff_neg {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) (S T : H.LeftTransversal) [H.FiniteIndex] :
          -diff ϕ S T = diff ϕ T S
          theorem Subgroup.leftTransversals.smul_diff_smul {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) (S T : H.LeftTransversal) [H.FiniteIndex] (g : G) :
          diff ϕ (g S) (g T) = diff ϕ S T
          theorem AddSubgroup.leftTransversals.vadd_diff_vadd {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) (S T : H.LeftTransversal) [H.FiniteIndex] (g : G) :
          diff ϕ (g +ᵥ S) (g +ᵥ T) = diff ϕ S T
          noncomputable def Subgroup.transferFunction {G : Type u_1} [Group G] (H : Subgroup G) (g : G) :
          G HG

          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
            Instances For
              theorem Subgroup.coe_transferFunction {G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : G H) :
              (H.transferFunction g q) = q
              def Subgroup.transferSet {G : Type u_1} [Group G] (H : Subgroup G) (g : G) :
              Set G

              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.

              Equations
                Instances For
                  theorem Subgroup.mem_transferSet {G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : G H) :
                  def Subgroup.transferTransversal {G : Type u_1} [Group G] (H : Subgroup G) (g : G) :

                  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
                    Instances For
                      theorem Subgroup.transferTransversal_apply {G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : G H) :
                      theorem Subgroup.transferTransversal_apply' {G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : MulAction.orbitRel.Quotient (↥(zpowers g)) (G H)) (k : ZMod (Function.minimalPeriod (fun (x : G H) => g x) (Quotient.out q))) :
                      theorem Subgroup.transferTransversal_apply'' {G : Type u_1} [Group G] {H : Subgroup G} (g : G) (q : MulAction.orbitRel.Quotient (↥(zpowers g)) (G H)) (k : ZMod (Function.minimalPeriod (fun (x : G H) => g x) (Quotient.out q))) :
                      noncomputable def MonoidHom.transfer {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) [H.FiniteIndex] :
                      G →* A

                      Given ϕ : H →* A from H : Subgroup G to a commutative group A, the transfer homomorphism is transfer ϕ : G →* A.

                      Equations
                        Instances For
                          noncomputable def AddMonoidHom.transfer {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) [H.FiniteIndex] :
                          G →+ A

                          Given ϕ : H →+ A from H : AddSubgroup G to an additive commutative group A, the transfer homomorphism is transfer ϕ : G →+ A.

                          Equations
                            Instances For
                              theorem MonoidHom.transfer_def {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) (T : H.LeftTransversal) [H.FiniteIndex] (g : G) :
                              theorem AddMonoidHom.transfer_def {G : Type u_1} [AddGroup G] {H : AddSubgroup G} {A : Type u_2} [AddCommGroup A] (ϕ : H →+ A) (T : H.LeftTransversal) [H.FiniteIndex] (g : G) :
                              theorem MonoidHom.transfer_eq_prod_quotient_orbitRel_zpowers_quot {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) [H.FiniteIndex] (g : G) [Fintype (Quotient (MulAction.orbitRel (↥(Subgroup.zpowers g)) (G H)))] :
                              ϕ.transfer g = q : Quotient (MulAction.orbitRel (↥(Subgroup.zpowers g)) (G H)), ϕ (Quotient.out q.out)⁻¹ * g ^ Function.minimalPeriod (fun (x : G H) => g x) q.out * Quotient.out q.out,

                              Explicit computation of the transfer homomorphism.

                              theorem MonoidHom.transfer_eq_pow_aux {G : Type u_1} [Group G] {H : Subgroup G} (g : G) (key : ∀ (k : ) (g₀ : G), g₀⁻¹ * g ^ k * g₀ Hg₀⁻¹ * g ^ k * g₀ = g ^ k) :
                              g ^ H.index H

                              Auxiliary lemma in order to state transfer_eq_pow.

                              theorem MonoidHom.transfer_eq_pow {G : Type u_1} [Group G] {H : Subgroup G} {A : Type u_2} [CommGroup A] (ϕ : H →* A) [H.FiniteIndex] (g : G) (key : ∀ (k : ) (g₀ : G), g₀⁻¹ * g ^ k * g₀ Hg₀⁻¹ * g ^ k * g₀ = g ^ k) :
                              ϕ.transfer g = ϕ g ^ H.index,
                              noncomputable def MonoidHom.transferCenterPow (G : Type u_1) [Group G] [(Subgroup.center G).FiniteIndex] :

                              The transfer homomorphism G →* center G.

                              Equations
                                Instances For
                                  noncomputable def MonoidHom.transferSylow {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [(↑P).FiniteIndex] :
                                  G →* P

                                  The homomorphism G →* P in Burnside's transfer theorem.

                                  Equations
                                    Instances For
                                      theorem MonoidHom.transferSylow_eq_pow_aux {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [Fact (Nat.Prime p)] [Finite (Sylow p G)] (g : G) (hg : g P) (k : ) (g₀ : G) (h : g₀⁻¹ * g ^ k * g₀ P) :
                                      g₀⁻¹ * g ^ k * g₀ = g ^ k

                                      Auxiliary lemma in order to state transferSylow_eq_pow.

                                      theorem MonoidHom.transferSylow_eq_pow {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [Fact (Nat.Prime p)] [Finite (Sylow p G)] [(↑P).FiniteIndex] (g : G) (hg : g P) :
                                      (transferSylow P hP) g = g ^ (↑P).index,
                                      theorem MonoidHom.transferSylow_restrict_eq_pow {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [Fact (Nat.Prime p)] [Finite (Sylow p G)] [(↑P).FiniteIndex] :
                                      ((transferSylow P hP).restrict P) = fun (x : P) => x ^ (↑P).index
                                      theorem MonoidHom.ker_transferSylow_isComplement' {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [Fact (Nat.Prime p)] [Finite (Sylow p G)] [(↑P).FiniteIndex] :

                                      Burnside's normal p-complement theorem: If N(P) ≤ C(P), then P has a normal complement.

                                      theorem MonoidHom.not_dvd_card_ker_transferSylow {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [Fact (Nat.Prime p)] [Finite (Sylow p G)] [(↑P).FiniteIndex] :
                                      theorem MonoidHom.ker_transferSylow_disjoint {G : Type u_1} [Group G] {p : } (P : Sylow p G) (hP : (↑P).normalizer Subgroup.centralizer P) [Fact (Nat.Prime p)] [Finite (Sylow p G)] [(↑P).FiniteIndex] (Q : Subgroup G) (hQ : IsPGroup p Q) :
                                      theorem IsCyclic.normalizer_le_centralizer {G : Type u_3} [Group G] [Finite G] {p : } (hp : (Nat.card G).minFac = p) {P : Sylow p G} (hP : IsCyclic P) :
                                      theorem IsCyclic.isComplement' {G : Type u_3} [Group G] [Finite G] {p : } (hp : (Nat.card G).minFac = p) {P : Sylow p G} (hP : IsCyclic P) :

                                      A cyclic Sylow subgroup for the smallest prime has a normal complement.