Documentation

Mathlib.FieldTheory.PolynomialGaloisGroup

Galois Groups of Polynomials #

In this file, we introduce the Galois group of a polynomial p over a field F, defined as the automorphism group of its splitting field. We also provide some results about some extension E above p.SplittingField.

Main definitions #

Main results #

Other results #

def Polynomial.Gal {F : Type u_1} [Field F] (p : Polynomial F) :
Type u_1

The Galois group of a polynomial.

Equations
    Instances For
      instance Polynomial.Gal.instGroup {F : Type u_1} [Field F] (p : Polynomial F) :
      Equations
        instance Polynomial.Gal.instFintype {F : Type u_1} [Field F] (p : Polynomial F) :
        Equations
          theorem Polynomial.Gal.ext {F : Type u_1} [Field F] (p : Polynomial F) {σ τ : p.Gal} (h : xp.rootSet p.SplittingField, σ x = τ x) :
          σ = τ
          theorem Polynomial.Gal.ext_iff {F : Type u_1} [Field F] {p : Polynomial F} {σ τ : p.Gal} :
          σ = τ xp.rootSet p.SplittingField, σ x = τ x

          If p splits in F then the p.gal is trivial.

          Equations
            Instances For
              Equations
                instance Polynomial.Gal.uniqueGalZero {F : Type u_1} [Field F] :
                Equations
                  instance Polynomial.Gal.uniqueGalOne {F : Type u_1} [Field F] :
                  Equations
                    instance Polynomial.Gal.uniqueGalC {F : Type u_1} [Field F] (x : F) :
                    Equations
                      Equations
                        instance Polynomial.Gal.uniqueGalXSubC {F : Type u_1} [Field F] (x : F) :
                        Unique (X - C x).Gal
                        Equations
                          instance Polynomial.Gal.uniqueGalXPow {F : Type u_1} [Field F] (n : ) :
                          Equations
                            def Polynomial.Gal.restrict {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :
                            (E ≃ₐ[F] E) →* p.Gal

                            Restrict from a superfield automorphism into a member of gal p.

                            Equations
                              Instances For
                                theorem Polynomial.Gal.restrict_surjective {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] [Normal F E] :
                                def Polynomial.Gal.mapRoots {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :
                                (p.rootSet p.SplittingField)(p.rootSet E)

                                The function taking rootSet p p.SplittingField to rootSet p E. This is actually a bijection, see Polynomial.Gal.mapRoots_bijective.

                                Equations
                                  Instances For
                                    theorem Polynomial.Gal.mapRoots_bijective {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [h : Fact (Splits (algebraMap F E) p)] :
                                    def Polynomial.Gal.rootsEquivRoots {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :
                                    (p.rootSet p.SplittingField) (p.rootSet E)

                                    The bijection between rootSet p p.SplittingField and rootSet p E.

                                    Equations
                                      Instances For
                                        Equations
                                          instance Polynomial.Gal.smul {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :
                                          SMul p.Gal (p.rootSet E)
                                          Equations
                                            theorem Polynomial.Gal.smul_def {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] (ϕ : p.Gal) (x : (p.rootSet E)) :
                                            ϕ x = (rootsEquivRoots p E) (ϕ (rootsEquivRoots p E).symm x)
                                            instance Polynomial.Gal.galAction {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :
                                            MulAction p.Gal (p.rootSet E)

                                            The action of gal p on the roots of p in E.

                                            Equations
                                              @[simp]
                                              theorem Polynomial.Gal.restrict_smul {F : Type u_1} [Field F] {p : Polynomial F} {E : Type u_2} [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] (ϕ : E ≃ₐ[F] E) (x : (p.rootSet E)) :
                                              ↑((restrict p E) ϕ x) = ϕ x

                                              Polynomial.Gal.restrict p E is compatible with Polynomial.Gal.galAction p E.

                                              def Polynomial.Gal.galActionHom {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :

                                              Polynomial.Gal.galAction as a permutation representation

                                              Equations
                                                Instances For
                                                  theorem Polynomial.Gal.galActionHom_restrict {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] (ϕ : E ≃ₐ[F] E) (x : (p.rootSet E)) :
                                                  (((galActionHom p E) ((restrict p E) ϕ)) x) = ϕ x
                                                  theorem Polynomial.Gal.galActionHom_injective {F : Type u_1} [Field F] (p : Polynomial F) (E : Type u_2) [Field E] [Algebra F E] [Fact (Splits (algebraMap F E) p)] :

                                                  gal p embeds as a subgroup of permutations of the roots of p in E.

                                                  def Polynomial.Gal.restrictDvd {F : Type u_1} [Field F] {p q : Polynomial F} (hpq : p q) :

                                                  Polynomial.Gal.restrict, when both fields are splitting fields of polynomials.

                                                  Equations
                                                    Instances For
                                                      theorem Polynomial.Gal.restrictDvd_def {F : Type u_1} [Field F] {p q : Polynomial F} [Decidable (q = 0)] (hpq : p q) :
                                                      restrictDvd hpq = if hq : q = 0 then 1 else restrict p q.SplittingField
                                                      theorem Polynomial.Gal.restrictDvd_surjective {F : Type u_1} [Field F] {p q : Polynomial F} (hpq : p q) (hq : q 0) :
                                                      def Polynomial.Gal.restrictProd {F : Type u_1} [Field F] (p q : Polynomial F) :
                                                      (p * q).Gal →* p.Gal × q.Gal

                                                      The Galois group of a product maps into the product of the Galois groups.

                                                      Equations
                                                        Instances For

                                                          Polynomial.Gal.restrictProd is actually a subgroup embedding.

                                                          theorem Polynomial.Gal.mul_splits_in_splittingField_of_mul {F : Type u_1} [Field F] {p₁ q₁ p₂ q₂ : Polynomial F} (hq₁ : q₁ 0) (hq₂ : q₂ 0) (h₁ : Splits (algebraMap F q₁.SplittingField) p₁) (h₂ : Splits (algebraMap F q₂.SplittingField) p₂) :
                                                          Splits (algebraMap F (q₁ * q₂).SplittingField) (p₁ * p₂)

                                                          p splits in the splitting field of p ∘ q, for q non-constant.

                                                          def Polynomial.Gal.restrictComp {F : Type u_1} [Field F] (p q : Polynomial F) (hq : q.natDegree 0) :
                                                          (p.comp q).Gal →* p.Gal

                                                          Polynomial.Gal.restrict for the composition of polynomials.

                                                          Equations
                                                            Instances For

                                                              For a separable polynomial, its Galois group has cardinality equal to the dimension of its splitting field over F.