Documentation

Mathlib.NumberTheory.KummerDedekind

Kummer-Dedekind theorem #

This file proves the Kummer-Dedekind theorem on the splitting of prime ideals in an extension of the ring of integers. This states the following: assume we are given

Main definitions #

Main results #

TODO #

References #

Tags #

kummer, dedekind, kummer dedekind, dedekind-kummer, dedekind kummer

def conductor (R : Type u_1) {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (x : S) :

Let S / R be a ring extension and x : S, then the conductor of R<x> is the biggest ideal of S contained in R<x>.

Equations
    Instances For
      theorem conductor_eq_of_eq {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x y : S} (h : (Algebra.adjoin R {x}) = (Algebra.adjoin R {y})) :
      theorem conductor_subset_adjoin {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} :
      (conductor R x) (Algebra.adjoin R {x})
      theorem mem_conductor_iff {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x y : S} :
      y conductor R x ∀ (b : S), y * b Algebra.adjoin R {x}
      theorem conductor_eq_top_of_adjoin_eq_top {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} (h : Algebra.adjoin R {x} = ) :
      theorem conductor_eq_top_of_powerBasis {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] (pb : PowerBasis R S) :
      theorem adjoin_eq_top_of_conductor_eq_top {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} (h : conductor R x = ) :
      theorem mem_coeSubmodule_conductor {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {L : Type u_3} [CommRing L] [Algebra S L] [Algebra R L] [IsScalarTower R S L] [NoZeroSMulDivisors S L] {x : S} {y : L} :
      theorem prod_mem_ideal_map_of_mem_conductor {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} {I : Ideal R} {p : R} {z : S} (hp : p Ideal.comap (algebraMap R S) (conductor R x)) (hz' : z Ideal.map (algebraMap R S) I) :
      (algebraMap R S) p * z (algebraMap (↥(Algebra.adjoin R {x})) S) '' (Ideal.map (algebraMap R (Algebra.adjoin R {x})) I)

      This technical lemma tell us that if C is the conductor of R<x> and I is an ideal of R then p * (I * S) ⊆ I * R<x> for any p in C ∩ R

      theorem comap_map_eq_map_adjoin_of_coprime_conductor {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} {I : Ideal R} (hx : Ideal.comap (algebraMap R S) (conductor R x)I = ) (h_alg : Function.Injective (algebraMap (↥(Algebra.adjoin R {x})) S)) :

      A technical result telling us that (I * S) ∩ R<x> = I * R<x> for any ideal I of R.

      noncomputable def quotAdjoinEquivQuotMap {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} {I : Ideal R} (hx : Ideal.comap (algebraMap R S) (conductor R x)I = ) (h_alg : Function.Injective (algebraMap (↥(Algebra.adjoin R {x})) S)) :

      The canonical morphism of rings from R<x> ⧸ (I*R<x>) to S ⧸ (I*S) is an isomorphism when I and (conductor R x) ∩ R are coprime.

      Equations
        Instances For
          @[simp]
          theorem quotAdjoinEquivQuotMap_apply_mk {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {x : S} {I : Ideal R} (hx : Ideal.comap (algebraMap R S) (conductor R x)I = ) (h_alg : Function.Injective (algebraMap (↥(Algebra.adjoin R {x})) S)) (a : (Algebra.adjoin R {x})) :

          The isomorphism of rings between S / I and (R / I)[X] / minpoly x when I and (conductor R x) ∩ R are coprime.

          Equations
            Instances For

              The first half of the Kummer-Dedekind Theorem, stating that the prime factors of I*S are in bijection with those of the minimal polynomial of the generator of S over R, taken mod I.

              Equations
                Instances For

                  The second half of the Kummer-Dedekind Theorem, stating that the bijection FactorsEquiv' defined in the first half preserves multiplicities.

                  Let Q be a lift of factor of the minimal polynomial of x, a generator of S over R, taken mod I. Then (the reduction of) Q corresponds via normalizedFactorsMapEquivNormalizedFactorsMinPolyMk to span (I.map (algebraMap R S) ∪ {Q.aeval x}).