# mathlib3documentation

number_theory.kummer_dedekind

# Kummer-Dedekind theorem #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file proves the monogenic version of the Kummer-Dedekind theorem on the splitting of prime ideals in an extension of the ring of integers. This states that if I is a prime ideal of Dedekind domain R and S = R[α] for some α that is integral over R with minimal polynomial f, then the prime factorisations of I * S and f mod I have the same shape, i.e. they have the same number of prime factors, and each prime factors of I * S can be paired with a prime factor of f mod I in a way that ensures multiplicities match (in fact, this pairing can be made explicit with a formula).

## Main definitions #

• normalized_factors_map_equiv_normalized_factors_min_poly_mk : The bijection in the Kummer-Dedekind theorem. This is the pairing between the prime factors of I * S and the prime factors of f mod I.

## Main results #

• normalized_factors_ideal_map_eq_normalized_factors_min_poly_mk_map : The Kummer-Dedekind theorem.
• ideal.irreducible_map_of_irreducible_minpoly : I.map (algebra_map R S) is irreducible if (map I^.quotient.mk (minpoly R pb.gen)) is irreducible, where pb is a power basis of S over R.

## TODO #

• Prove the Kummer-Dedekind theorem in full generality.

• Prove the converse of ideal.irreducible_map_of_irreducible_minpoly.

• Prove that normalized_factors_map_equiv_normalized_factors_min_poly_mk can be expressed as normalized_factors_map_equiv_normalized_factors_min_poly_mk g = ⟨I, G(α)⟩ for g a prime factor of f mod I and G a lift of g to R[X].

## Tags #

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

def conductor (R : Type u_1) {S : Type u_2} [comm_ring R] [comm_ring S] [ 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
theorem conductor_eq_of_eq {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x y : S} (h : {x}) = {y})) :
x = y
theorem conductor_subset_adjoin {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} :
x) {x})
theorem mem_conductor_iff {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x y : S} :
y x (b : S), y * b {x}
theorem conductor_eq_top_of_adjoin_eq_top {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} (h : {x} = ) :
x =
theorem conductor_eq_top_of_power_basis {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] (pb : S) :
pb.gen =
theorem prod_mem_ideal_map_of_mem_conductor {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} {p : R} {z : S} (hp : p ideal.comap S) x)) (hz' : z ideal.map S) I) :
S) p * z (algebra_map {x}) S) '' (ideal.map {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} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} (hx : ideal.comap S) x) I = ) (h_alg : function.injective (algebra_map {x}) S)) :

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

noncomputable def quot_adjoin_equiv_quot_map {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} (hx : ideal.comap S) x) I = ) (h_alg : function.injective (algebra_map {x}) S)) :
{x}) ideal.map {x})) I ≃+* S ideal.map S) I

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
@[simp]
theorem quot_adjoin_equiv_quot_map_apply_mk {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} (hx : ideal.comap S) x) I = ) (h_alg : function.injective (algebra_map {x}) S)) (a : {x})) :
noncomputable def kummer_dedekind.normalized_factors_map_equiv_normalized_factors_min_poly_mk {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} [is_domain R] [is_domain S] (hI : I.is_maximal) (hI' : I ) (hx : ideal.comap S) x) I = ) (hx' : x) :
{J : | {d : polynomial (R I) |

The first half of the Kummer-Dedekind Theorem in the monogenic case, 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
theorem kummer_dedekind.multiplicity_factors_map_eq_multiplicity {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} [is_domain R] [is_domain S] (hI : I.is_maximal) (hI' : I ) (hx : ideal.comap S) x) I = ) (hx' : x) {J : ideal S} (hJ : J ) :
(ideal.map S) I) = multiplicity J, hJ⟩) (minpoly R x))

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

theorem kummer_dedekind.normalized_factors_ideal_map_eq_normalized_factors_min_poly_mk_map {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} [is_domain R] [is_domain S] (hI : I.is_maximal) (hI' : I ) (hx : ideal.comap S) x) I = ) (hx' : x) :
= multiset.map (λ (f : {d : polynomial (R I) | , ( f))

The Kummer-Dedekind Theorem.

theorem kummer_dedekind.ideal.irreducible_map_of_irreducible_minpoly {R : Type u_1} {S : Type u_2} [comm_ring R] [comm_ring S] [ S] {x : S} {I : ideal R} [is_domain R] [is_domain S] (hI : I.is_maximal) (hI' : I ) (hx : ideal.comap S) x) I = ) (hx' : x) (hf : irreducible (minpoly R x))) :