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

    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.

        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.

        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.

          Instances For

            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
              @[instance_reducible]

              adicCompletion.toCompletion as a ring isomorphism onto the underlying completion.

              Instances For

                The v-adic valuation on adicCompletion K v, transported from the completion along equiv.

                Instances For

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

                  Instances For

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

                    Instances For
                      @[instance_reducible]

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

                      @[instance_reducible, instance 99]

                      Coercion of an element of K into the adic completion.

                      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.toVal (HeightOneSpectrum.valuation K v) (x + y)) } = { toCompletion := (WithVal.toVal (HeightOneSpectrum.valuation K v) x) } + { toCompletion := (WithVal.toVal (HeightOneSpectrum.valuation K v) 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.toVal (HeightOneSpectrum.valuation K v) (x * y)) } = { toCompletion := (WithVal.toVal (HeightOneSpectrum.valuation K v) x) } * { toCompletion := (WithVal.toVal (HeightOneSpectrum.valuation K v) y) }

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

                      Instances For

                        The ring of integers of adicCompletion.

                        Instances For
                          @[instance_reducible]

                          The S-algebra structure on the underlying completion.

                          @[instance_reducible]
                          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.toVal (valuation K v) x) }) (algebraMap S K)
                          @[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

                          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