Documentation

TauCeti.FieldTheory.GaloisGroups.Resolvent.Spec

Resolvent specifications #

A resolvent tests whether the Galois group of a polynomial of degree n, viewed as a subgroup of Equiv.Perm (Fin n) through a numbering of the roots, lies in a conjugate of a subgroup H. The test is built from an invariant Φ in n formal roots whose stabilizer under permutation of the variables is exactly H: the orbit of Φ is then in bijection with the cosets of H, and the factorization of the orbit product records how the Galois group permutes those cosets. A mere containment of H in the stabilizer would not let the resolvent detect H.

A TauCeti.ResolventSpec n packages this universal data once, independently of any polynomial or coefficient ring: the subgroup, the integral invariant, the exact stabilizer statement, and the unique integral expression of the orbit product in the elementary symmetric polynomials. The last field is determined by the invariant (MvPolynomial.existsUnique_orbitProduct), and so is the subgroup, so a specification is determined by its invariant (TauCeti.ResolventSpec.ext).

Specializing at a polynomial f over any commutative ring substitutes the signed coefficients of f for the elementary symmetric polynomials. The result is monic of degree the index [Sₙ : H] over every nonzero ring, commutes with every ring morphism applied to the coefficients, and, when the roots of f are listed with multiplicity in a domain, is the orbit product of the values of the orbit of Φ at those roots.

Main definitions #

Main results #

structure TauCeti.ResolventSpec (n : ℕ) :

A resolvent specification in degree n: a subgroup H of Equiv.Perm (Fin n), an integral invariant Φ in n formal roots whose stabilizer under renaming is exactly H, and the integral expression of the orbit product of Φ in the elementary symmetric polynomials. No polynomial and no coefficient ring appears; specialization is ResolventSpec.specialize.

Instances For
    @[simp]

    The subgroup of a specification is the stabilizer of its invariant.

    The integral expression of the orbit product is unique.

    theorem TauCeti.ResolventSpec.ext {n : ℕ} {s t : ResolventSpec n} (h : s.Φ = t.Φ) :
    s = t

    A specification is determined by its invariant: the subgroup is the stabilizer of the invariant, and the orbit product is its unique symmetric expression.

    theorem TauCeti.ResolventSpec.ext_iff {n : ℕ} {s t : ResolventSpec n} :
    s = t ↔ s.Φ = t.Φ
    noncomputable def TauCeti.ResolventSpec.mk' {n : ℕ} (H : Subgroup (Equiv.Perm (Fin n))) (Φ : MvPolynomial (Fin n) ℤ) (h : ∀ (σ : Equiv.Perm (Fin n)), (MvPolynomial.rename ⇑σ) Φ = Φ ↔ σ ∈ H) :

    The specification attached to an invariant Φ whose stabilizer is exactly H; its orbit product is the unique one provided by the symmetric descent.

    Equations
    Instances For
      @[simp]
      theorem TauCeti.ResolventSpec.mk'_H {n : ℕ} (H : Subgroup (Equiv.Perm (Fin n))) (Φ : MvPolynomial (Fin n) ℤ) (h : ∀ (σ : Equiv.Perm (Fin n)), (MvPolynomial.rename ⇑σ) Φ = Φ ↔ σ ∈ H) :
      (mk' H Φ h).H = H
      @[simp]
      theorem TauCeti.ResolventSpec.mk'_Φ {n : ℕ} (H : Subgroup (Equiv.Perm (Fin n))) (Φ : MvPolynomial (Fin n) ℤ) (h : ∀ (σ : Equiv.Perm (Fin n)), (MvPolynomial.rename ⇑σ) Φ = Φ ↔ σ ∈ H) :
      (mk' H Φ h).Φ = Φ

      The orbit of the invariant has [Sₙ : H] elements.

      The integral orbit product is monic.

      @[simp]

      The integral orbit product has degree [Sₙ : H].

      Specialization at a polynomial #

      noncomputable def TauCeti.ResolventSpec.specialize {n : ℕ} (spec : ResolventSpec n) (R : Type u_1) [CommRing R] (f : Polynomial R) :

      The resolvent of a polynomial f over a commutative ring R: substitute the signed coefficients of f for the elementary symmetric polynomials in the integral orbit product. The definition is total; it is the orbit product at the roots when f is monic of degree n (ResolventSpec.map_specialize_eq_galResolvent).

      Equations
      Instances For
        @[simp]
        theorem TauCeti.ResolventSpec.specialize_map {n : ℕ} (spec : ResolventSpec n) {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] (φ : R →+* S) (f : Polynomial R) :

        Base change. Specialization commutes with a ring morphism applied to the coefficients, with no hypothesis on f.

        theorem TauCeti.ResolventSpec.monic_specialize {n : ℕ} (spec : ResolventSpec n) (R : Type u_1) [CommRing R] (f : Polynomial R) :
        (spec.specialize R f).Monic

        The resolvent is monic, for every polynomial f.

        @[simp]
        theorem TauCeti.ResolventSpec.natDegree_specialize {n : ℕ} (spec : ResolventSpec n) (R : Type u_1) [CommRing R] [Nontrivial R] (f : Polynomial R) :
        (spec.specialize R f).natDegree = spec.H.index

        The resolvent has degree [Sₙ : H] over every nonzero ring and for every polynomial f: specialization can make orbit values coincide, but it never lowers the degree.

        The resolvent is linear exactly when the specification tests the whole symmetric group.

        For a specification testing the trivial subgroup, the resolvent has degree n!.

        theorem TauCeti.ResolventSpec.map_specialize_eq_galResolvent {n : ℕ} (spec : ResolventSpec n) {R : Type u_1} {L : Type u_2} [CommRing R] [CommRing L] [IsDomain L] (φ : R →+* L) {f : Polynomial R} (hf : f.Monic) (hdeg : f.natDegree = n) {x : Fin n → L} (hx : (Polynomial.map φ f).roots = Multiset.map x Finset.univ.val) :

        The resolvent is the orbit product at the roots. If f is monic of degree n and its image in a domain L has roots x, listed with multiplicity, then the image of the resolvent of f is the product of X - Ψ(x) over the orbit of the invariant.

        theorem TauCeti.ResolventSpec.isRoot_specialize_eval₂_rename {n : ℕ} (spec : ResolventSpec n) {R : Type u_1} [CommRing R] {f : Polynomial R} {x : Fin n → R} (hf : f = ∏ i : Fin n, (Polynomial.X - Polynomial.C (x i))) (σ : Equiv.Perm (Fin n)) :

        Every orbit value is a root of the resolvent. If f is the product of the linear factors attached to a family x, then the value at x of every renaming of the invariant is a root of the resolvent of f.

        Renaming the invariant #

        noncomputable def TauCeti.ResolventSpec.rename {n : ℕ} (spec : ResolventSpec n) (e : Equiv.Perm (Fin n)) :

        The specification of the invariant renamed along e. Its subgroup is the conjugate of H by e, and its orbit product is unchanged, since the orbit is.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[simp]
          theorem TauCeti.ResolventSpec.rename_Φ {n : ℕ} (spec : ResolventSpec n) (e : Equiv.Perm (Fin n)) :
          (spec.rename e).Φ = (MvPolynomial.rename ⇑e) spec.Φ
          @[simp]
          theorem TauCeti.ResolventSpec.specialize_rename {n : ℕ} (spec : ResolventSpec n) (e : Equiv.Perm (Fin n)) (R : Type u_1) [CommRing R] (f : Polynomial R) :
          (spec.rename e).specialize R f = spec.specialize R f

          Renaming the invariant does not change the resolvent of any polynomial.