Documentation

Mathlib.RingTheory.DedekindDomain.AdicValuation

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.

We define the completion of K with respect to the v-adic valuation, denoted v.adicCompletion, and its ring of integers, denoted v.adicCompletionIntegers.

Main definitions #

Main results #

Implementation notes #

We are only interested in Dedekind domains with Krull dimension 1.

References #

Tags #

dedekind domain, dedekind ring, adic valuation

Adic valuations on the Dedekind domain 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. intValuationDef is the corresponding multiplicative valuation.

Instances For

    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.

    Instances For

      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 1 if and only if r ∈ v.

      The v-adic valuation of r ∈ R is equal to 1 if and only if r ∈ vᶜ.

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

      The v-adic valuation of r ∈ R is less than WithZero.exp (-n) if and only if r ∈ vⁿ.

      There exists π ∈ R with v-adic valuation WithZero.exp (-1).

      The I-adic valuation of a generator of I equals (-1 : ℤᵐ⁰)

      Adic valuations on the field of fractions 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.

      Instances For

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

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

        theorem IsDedekindDomain.HeightOneSpectrum.valuation_le_one {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (r : R) :
        (valuation K v) r 1

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

        theorem IsDedekindDomain.HeightOneSpectrum.valuation_lt_one_iff_dvd {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (r : R) :
        (valuation K v) r < 1 v.asIdeal Ideal.span {r}

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

        theorem IsDedekindDomain.HeightOneSpectrum.valuation_lt_one_iff_mem {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (r : R) :
        (valuation K v) r < 1 r v.asIdeal

        The v-adic valuation of r ∈ R is less than 1 if and only if r ∈ v.

        theorem IsDedekindDomain.HeightOneSpectrum.valuation_div_le_one_iff {R : Type u_1} [CommRing R] [IsDedekindDomain R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (a : R) {b : R} (hb : b 0) (h : b v.asIdealav.asIdeal) :
        (valuation K v) (a / b) 1 bv.asIdeal

        The v adic valuation of a / b ∈ K is ≤ 1 if and only if b ∉ v, provided that a and b are coprime at v.

        There exists π ∈ K with v-adic valuation WithZero.exp (-1).

        theorem IsDedekindDomain.HeightOneSpectrum.valuation_uniformizer_ne_zero {R : Type u_1} [CommRing R] [IsDedekindDomain R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) :
        Classical.choose 0

        Uniformizers are nonzero.

        theorem IsDedekindDomain.HeightOneSpectrum.exists_primeCompl_mul_eq_or_mul_eq {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (x : K) :
        ∃ (n : R) (d : v.asIdeal.primeCompl), x * (algebraMap R K) d = (algebraMap R K) n x * (algebraMap R K) n = (algebraMap R K) d

        All x ∈ K can be written as n / d or d / n with n ∈ R and d ∈ v.asIdealᶜ.

        theorem IsDedekindDomain.HeightOneSpectrum.exists_primeCompl_mul_eq_of_integer {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (x : K) (hv : (valuation K v) x 1) :
        ∃ (n : R) (d : v.asIdeal.primeCompl), x * (algebraMap R K) d = (algebraMap R K) n

        All x ∈ 𝓞[K] can be written as n / d with n ∈ R and d ∈ v.asIdealᶜ.

        Completions with respect to adic valuations #

        Given a Dedekind domain R with field of fractions K and a maximal ideal v of R, we define the completion of K with respect to its v-adic valuation, denoted v.adicCompletion, and its ring of integers, denoted v.adicCompletionIntegers.

        @[implicit_reducible]

        K as a valued field with the v-adic valuation.

        Instances For
          @[deprecated IsDedekindDomain.HeightOneSpectrum.adicValued_apply (since := "2026-01-28")]
          @[reducible, inline]

          The completion of K with respect to its v-adic valuation.

          Instances For
            @[implicit_reducible]
            theorem IsDedekindDomain.HeightOneSpectrum.coe_smul_adicCompletion (R : Type u_1) [CommRing R] [IsDedekindDomain R] (K : Type u_2) {S : Type u_3} [Field K] [CommSemiring S] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) [Algebra S K] (r : S) (x : WithVal (valuation K v)) :
            (r x) = r x
            theorem IsDedekindDomain.HeightOneSpectrum.algebraMap_adicCompletion (R : Type u_1) [CommRing R] [IsDedekindDomain R] (K : Type u_2) {S : Type u_3} [Field K] [CommSemiring S] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) [Algebra S K] :
            (algebraMap S (adicCompletion K v)) = (fun (x : K) => ((WithVal.equiv (valuation K v)).symm x)) (algebraMap S K)

            The valuation on the completion agrees with the global valuation on elements of the integer ring.

            The valuation on the completion agrees with the global valuation on elements of the field.

            A global integer is in the local integers.

            @[simp]
            theorem IsDedekindDomain.HeightOneSpectrum.coe_smul_adicCompletionIntegers (R : Type u_1) [CommRing R] [IsDedekindDomain R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (r : R) (x : (adicCompletionIntegers K v)) :
            (r x) = r x
            noncomputable def IsDedekindDomain.HeightOneSpectrum.intAdicAbvDef {R : Type u_1} [CommRing R] [IsDedekindDomain R] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (r : R) :

            The v-adic absolute value function on R defined as b raised to negative v-adic valuation, for some b in ℝ≥0

            Instances For

              The v-adic absolute value on R defined as b raised to negative v-adic valuation, for some b in ℝ≥0

              Instances For

                The v-adic absolute value is nonarchimedean

                noncomputable def IsDedekindDomain.HeightOneSpectrum.adicAbvDef {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (x : K) :

                The v-adic absolute value function on K defined as b raised to negative v-adic valuation, for some b in ℝ≥0

                Instances For
                  noncomputable def IsDedekindDomain.HeightOneSpectrum.adicAbv {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) :

                  The v-adic absolute value on K defined as b raised to negative v-adic valuation, for some b in ℝ≥0

                  Instances For

                    The v-adic absolute value is nonarchimedean

                    theorem IsDedekindDomain.HeightOneSpectrum.adicAbv_of_mk' {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (r : R) {s : (nonZeroDivisors R)} :
                    (v.adicAbv hb) (IsLocalization.mk' K r s) = (v.intAdicAbv hb) r / (v.intAdicAbv hb) s

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

                    theorem IsDedekindDomain.HeightOneSpectrum.adicAbv_of_algebraMap {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (r : R) :
                    (v.adicAbv hb) ((algebraMap R K) r) = (v.intAdicAbv hb) r

                    The v-adic absolute value on K extends the v-adic absolute value on R.

                    theorem IsDedekindDomain.HeightOneSpectrum.adicAbv_coe_le_one {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (r : R) :
                    (v.adicAbv hb) ((algebraMap R K) r) 1
                    theorem IsDedekindDomain.HeightOneSpectrum.adicAbv_coe_lt_one_iff {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (r : R) :
                    (v.adicAbv hb) ((algebraMap R K) r) < 1 r v.asIdeal
                    theorem IsDedekindDomain.HeightOneSpectrum.adicAbv_coe_eq_one_iff {R : Type u_1} [CommRing R] [IsDedekindDomain R] {K : Type u_2} [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) {b : NNReal} (hb : 1 < b) (r : R) :
                    (v.adicAbv hb) ((algebraMap R K) r) = 1 rv.asIdeal