mathlib documentation

ideles / valuation

Adic valuations on Dedekind domains #

Given a Dedekind domain R of Krull dimension 1 and a maximal ideal v of R, we define the v-adic valuation on R and its extension to the field of fractions K of R. We prove several properties of this valuation, including the existence of uniformizers.

Main definitions #

Main results #

Implementation notes #

We are only interested in Dedekind domains with Krull dimension 1. Dedekind domains of Krull dimension 0 are fields, and for them maximal_spectrum is the empty set, which does not agree with the set of maximal ideals (which is {(0)}).

Most of the code in this file has already been incorporated to mathlib and can be found in the files ring_theory/dedekind_domain/ideal.lean and ring_theory/dedekind_domain/adic_valuation.lean. Note that maximal_spectrum is called height_one_spectrum there, and that some of the names of definitions and lemmas have been modified. We keep this version of the code here so that this branch contains all of the code referred to in the article "Formalizing the Rings of Adèles of a Global Field".

References #

Tags #

dedekind domain, dedekind ring, adic valuation

Maximal spectrum of a Dedekind domain #

If R is a Dedekind domain of Krull dimension 1, the maximal ideals of R are exactly its nonzero prime ideals.

We define maximal_spectrum and provide lemmas to recover the facts that maximal ideals are prime and irreducible.

theorem maximal_spectrum.ext {R : Type u_1} {_inst_1 : comm_ring R} {_inst_2 : is_domain R} {_inst_3 : is_dedekind_domain R} (x y : maximal_spectrum R) (h : x.as_ideal = y.as_ideal) :
x = y
theorem maximal_spectrum.ext_iff {R : Type u_1} {_inst_1 : comm_ring R} {_inst_2 : is_domain R} {_inst_3 : is_dedekind_domain R} (x y : maximal_spectrum R) :
@[nolint, ext]
structure maximal_spectrum (R : Type u_1) [comm_ring R] [is_domain R] [is_dedekind_domain R] :
Type u_1

The maximal spectrum of a Dedekind domain R of Krull dimension 1 is its set of nonzero prime ideals. Note that this is not the maximal spectrum if R has Krull dimension 0.

Auxiliary lemmas #

We provide auxiliary lemmas about multiplicative.of_add, is_localization, associates and ideal. They will be moved to the appropriate files when the code is integrated in mathlib.

theorem of_add_le (α : Type u_1) [partial_order α] (x y : α) :
theorem of_add_lt (α : Type u_1) [partial_order α] (x y : α) :
theorem of_add_inj (α : Type u_1) (x y : α) (hxy : multiplicative.of_add x = multiplicative.of_add y) :
x = y
theorem is_localization.mk'_eq_zero {A : Type u_3} [comm_ring A] [is_domain A] {S : Type u_4} [field S] [algebra A S] [is_fraction_ring A S] {r : A} {s : A} (h : is_localization.mk' S r s = 0) :
r = 0
theorem is_localization.mk'_eq_one {A : Type u_3} [comm_ring A] [is_domain A] (S : Type u_4) [field S] [algebra A S] [is_fraction_ring A S] {r : A} {s : A} (h : is_localization.mk' S r s = 1) :
r = s
theorem ideal.mem_pow_count {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {x : R} (hx : x 0) {I : ideal R} (hI : irreducible I) :

Adic valuations on the Dedekind domain R #

noncomputable def maximal_spectrum.int_valuation_def {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] (v : maximal_spectrum R) (r : R) :

The additive v-adic valuation of r ∈ R is the exponent of v in the factorization of the ideal (r), if r is nonzero, or infinity, if r = 0. int_valuation_def is the corresponding multiplicative valuation.

Equations
theorem maximal_spectrum.int_valuation_def_if_pos {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] (v : maximal_spectrum R) {r : R} (hr : r = 0) :
theorem maximal_spectrum.int_valuation_ne_zero {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] (v : maximal_spectrum R) (x : R) (hx : x 0) :

Nonzero elements have nonzero adic valuation.

Nonzero divisors have nonzero valuation.

Nonzero divisors have valuation greater than zero.

The v-adic valuation on R is bounded above by 1.

The v-adic valuation of r ∈ R is less than 1 if and only if v divides the ideal (r).

The v-adic valuation of r ∈ R is less than multiplicative.of_add (-n) if and only if vⁿ divides the ideal (r).

The v-adic valuation of 0 : R equals 0.

The v-adic valuation of 1 : R equals 1.

The v-adic valuation of a product equals the product of the valuations.

The v-adic valuation of a sum is bounded above by the maximum of the valuations.

The v-adic valuation on R.

Equations

There exists π ∈ R with v-adic valuation multiplicative.of_add (-1).

Adic valuations on the field of fractions K #

noncomputable def maximal_spectrum.valuation_def {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) (x : K) :

The v-adic valuation of x ∈ K is the valuation of r divided by the valuation of s, where r and s are chosen so that x = r/s.

Equations

The valuation of k ∈ K is independent on how we express k as a fraction.

The v-adic valuation of r/s ∈ K is the valuation of r divided by the valuation of s.

theorem maximal_spectrum.valuation_of_algebra_map {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) {r : R} :

The v-adic valuation on K extends the v-adic valuation on R.

theorem maximal_spectrum.valuation_le_one {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) (r : R) :

The v-adic valuation on R is bounded above by 1.

theorem maximal_spectrum.valuation_lt_one_iff_dvd {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) (r : R) :

The v-adic valuation of r ∈ R is less than 1 if and only if v divides the ideal (r).

theorem maximal_spectrum.valuation.map_zero' {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) :

The v-adic valuation of 0 : K equals 0.

theorem maximal_spectrum.valuation.map_one' {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) :

The v-adic valuation of 1 : K equals 1.

theorem maximal_spectrum.valuation.map_mul' {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) (x y : K) :

The v-adic valuation of a product is the product of the valuations.

theorem maximal_spectrum.valuation.map_add_le_max' {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) (x y : K) :

The v-adic valuation of a sum is bounded above by the maximum of the valuations.

noncomputable def maximal_spectrum.valuation {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) :

The v-adic valuation on K.

Equations
theorem maximal_spectrum.valuation_apply {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] {K : Type u_2} [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) (k : K) :
theorem maximal_spectrum.valuation_exists_uniformizer {R : Type u_1} [comm_ring R] [is_domain R] [is_dedekind_domain R] (K : Type u_2) [field K] [algebra R K] [is_fraction_ring R K] (v : maximal_spectrum R) :
∃ (π : K), v.valuation_def π = (multiplicative.of_add (-1))

There exists π ∈ K with v-adic valuation multiplicative.of_add (-1).

Uniformizers are nonzero.