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.

Equations
Instances For

    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
    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.

      Equations
      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.

        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.

        @[simp]
        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 π : R with v-adic valuation WithZero.exp (-1).

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

        Given a Dedekind domain R in K, its field of fractions, the localization of R at a nonzero prime is a valuation subring of K.

        Equations
        Instances For

          Given v : HeightOneSpectrum R, the valuation associated to v has the localization of R at v as valuation subring.

          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ᶜ.

          Given a, b ∈ A and v b ≤ v a we can find y : A such that y * a is close to b by the valuation v.

          theorem IsDedekindDomain.HeightOneSpectrum.exists_valuation_sub_lt_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) (γ : (WithZero (Multiplicative ))ˣ) :
          ∃ (a : R), (valuation K v) ((algebraMap R K) a - x) < γ

          Given x ∈ 𝒪[K] we can find a : A such that a is close to x by the valuation v.

          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.

          @[instance_reducible]

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

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

            The completion of K with respect to its v-adic valuation, defined as a one-field structure wrapping the uniform-space completion (v.valuation K).Completion.

            Instances For

              adicCompletion.toCompletion and adicCompletion.ofCompletion as an equivalence.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[instance_reducible]
                Equations
                • One or more equations did not get rendered due to their size.

                The multiplicative equivalence between the value group of the completion's valuation, pulled back along equiv, and that of the completion.

                Equations
                Instances For

                  The order-preserving multiplicative equivalence between the ValueGroup₀ of the completion's valuation, pulled back along equiv, and that of the completion.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    @[instance_reducible]
                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[instance_reducible]

                    Coercion of an element of WithVal (v.valuation K) into the adic completion.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[instance_reducible, instance 99]

                    Coercion of an element of K into the adic completion.

                    Equations
                    theorem IsDedekindDomain.HeightOneSpectrum.adicCompletion.coe_add {R : Type u_1} [CommRing R] [IsDedekindDomain R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (x y : K) :
                    { toCompletion := ((WithVal.equiv (HeightOneSpectrum.valuation K v)).symm (x + y)) } = { toCompletion := ((WithVal.equiv (HeightOneSpectrum.valuation K v)).symm x) } + { toCompletion := ((WithVal.equiv (HeightOneSpectrum.valuation K v)).symm y) }
                    theorem IsDedekindDomain.HeightOneSpectrum.adicCompletion.coe_mul {R : Type u_1} [CommRing R] [IsDedekindDomain R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] (v : HeightOneSpectrum R) (x y : K) :
                    { toCompletion := ((WithVal.equiv (HeightOneSpectrum.valuation K v)).symm (x * y)) } = { toCompletion := ((WithVal.equiv (HeightOneSpectrum.valuation K v)).symm x) } * { toCompletion := ((WithVal.equiv (HeightOneSpectrum.valuation K v)).symm y) }

                    toCompletion as a uniform-space isomorphism onto the underlying completion.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      @[instance_reducible]

                      The S-algebra structure on the underlying completion.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      @[instance_reducible]
                      Equations
                      • One or more equations did not get rendered due to their size.
                      instance IsDedekindDomain.HeightOneSpectrum.instIsScalarTowerAdicCompletion (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] {S₀ : Type u_4} [CommSemiring S₀] [Algebra S₀ S] [Algebra S₀ K] [IsScalarTower S₀ S K] :
                      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)) :
                      { toCompletion := ↑(r x) } = r { toCompletion := 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) => { toCompletion := ((WithVal.equiv (valuation K v)).symm x) }) (algebraMap S K)
                      @[instance_reducible]
                      Equations
                      • One or more equations did not get rendered due to their size.
                      @[simp]

                      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]
                      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

                      Equations
                      Instances For

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

                        Equations
                        • v.intAdicAbv hb = { toFun := fun (r : R) => (v.intAdicAbvDef hb r), map_mul' := , nonneg' := , eq_zero' := , add_le' := }
                        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

                          Equations
                          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

                            Equations
                            • v.adicAbv hb = { toFun := fun (x : K) => (v.adicAbvDef hb x), map_mul' := , nonneg' := , eq_zero' := , add_le' := }
                            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