Documentation

Mathlib.RingTheory.Valuation.ValuationSubring

Valuation subrings of a field #

Projects #

The order structure on ValuationSubring K.

structure ValuationSubring (K : Type u) [Field K] extends Subring K :

A valuation subring of a field K is a subring A such that for every x : K, either x ∈ A or x⁻¹ ∈ A.

This is equivalent to being maximal in the domination order of local subrings (the stacks project definition). See LocalSubring.isMax_iff.

Instances For
    @[implicit_reducible]
    @[implicit_reducible]
    theorem ValuationSubring.mem_carrier {K : Type u} [Field K] (A : ValuationSubring K) (x : K) :
    x A.carrier x A
    @[simp]
    theorem ValuationSubring.mem_toSubring {K : Type u} [Field K] (A : ValuationSubring K) (x : K) :
    theorem ValuationSubring.ext {K : Type u} [Field K] (A B : ValuationSubring K) (h : ∀ (x : K), x A x B) :
    A = B
    theorem ValuationSubring.ext_iff {K : Type u} [Field K] {A B : ValuationSubring K} :
    A = B ∀ (x : K), x A x B
    theorem ValuationSubring.add_mem {K : Type u} [Field K] (A : ValuationSubring K) (x y : K) :
    x Ay Ax + y A
    theorem ValuationSubring.mul_mem {K : Type u} [Field K] (A : ValuationSubring K) (x y : K) :
    x Ay Ax * y A
    theorem ValuationSubring.neg_mem {K : Type u} [Field K] (A : ValuationSubring K) (x : K) :
    x A-x A
    theorem ValuationSubring.mem_or_inv_mem {K : Type u} [Field K] (A : ValuationSubring K) (x : K) :
    x A x⁻¹ A
    @[implicit_reducible]
    @[implicit_reducible]
    @[simp]
    theorem ValuationSubring.mem_top {K : Type u} [Field K] (x : K) :
    @[implicit_reducible]

    If K is a field, then so is K viewed as a valuation subring of itself. (That is, ⊤ : ValuationSubring K.)

    @[simp]
    theorem ValuationSubring.top_coe_div {K : Type u} [Field K] (x y : ) :
    ↑(x / y) = x / y
    @[simp]
    theorem ValuationSubring.top_coe_inv {K : Type u} [Field K] (x : ) :
    x⁻¹ = (↑x)⁻¹
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    @[simp]
    theorem ValuationSubring.algebraMap_apply {K : Type u} [Field K] (A : ValuationSubring K) (a : A) :
    (algebraMap (↥A) K) a = a

    The value group of the valuation associated to A. Note: it is actually a group with zero.

    Instances For
      noncomputable def ValuationSubring.valuation {K : Type u} [Field K] (A : ValuationSubring K) :

      Any valuation subring of K induces a natural valuation on K.

      Instances For
        @[implicit_reducible]
        theorem ValuationSubring.valuation_le_one {K : Type u} [Field K] (A : ValuationSubring K) (a : A) :
        A.valuation a 1
        theorem ValuationSubring.mem_of_valuation_le_one {K : Type u} [Field K] (A : ValuationSubring K) (x : K) (h : A.valuation x 1) :
        x A
        @[simp]
        theorem ValuationSubring.valuation_le_one_iff {K : Type u} [Field K] (A : ValuationSubring K) (x : K) :
        A.valuation x 1 x A
        theorem ValuationSubring.valuation_eq_iff {K : Type u} [Field K] (A : ValuationSubring K) (x y : K) :
        A.valuation x = A.valuation y ∃ (a : (↥A)ˣ), a * y = x
        theorem ValuationSubring.valuation_le_iff {K : Type u} [Field K] (A : ValuationSubring K) (x y : K) :
        A.valuation x A.valuation y ∃ (a : A), a * y = x
        @[simp]
        theorem ValuationSubring.valuation_unit {K : Type u} [Field K] (A : ValuationSubring K) (a : (↥A)ˣ) :
        A.valuation a = 1
        theorem ValuationSubring.valuation_eq_one_iff {K : Type u} [Field K] (A : ValuationSubring K) (a : A) :
        IsUnit a A.valuation a = 1
        theorem ValuationSubring.valuation_lt_one_or_eq_one {K : Type u} [Field K] (A : ValuationSubring K) (a : A) :
        A.valuation a < 1 A.valuation a = 1
        def ValuationSubring.ofSubring {K : Type u} [Field K] (R : Subring K) (hR : ∀ (x : K), x R x⁻¹ R) :

        A subring R of K such that for all x : K either x ∈ R or x⁻¹ ∈ R is a valuation subring of K.

        Instances For
          @[simp]
          theorem ValuationSubring.mem_ofSubring {K : Type u} [Field K] (R : Subring K) (hR : ∀ (x : K), x R x⁻¹ R) (x : K) :
          x ofSubring R hR x R

          An overring of a valuation ring is a valuation ring.

          Instances For
            def ValuationSubring.inclusion {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) :
            R →+* S

            The ring homomorphism induced by the partial order.

            Instances For
              def ValuationSubring.subtype {K : Type u} [Field K] (R : ValuationSubring K) :
              R →+* K

              The canonical ring homomorphism from a valuation ring to its field of fractions.

              Instances For
                @[simp]
                theorem ValuationSubring.subtype_apply {K : Type u} [Field K] {R : ValuationSubring K} (x : R) :
                R.subtype x = x

                The canonical map on value groups induced by a coarsening of valuation rings.

                Instances For
                  theorem ValuationSubring.monotone_mapOfLE {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) :
                  Monotone (R.mapOfLE S h)
                  @[simp]
                  theorem ValuationSubring.mapOfLE_comp_valuation {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) :
                  (R.mapOfLE S h) R.valuation = S.valuation
                  @[simp]
                  theorem ValuationSubring.mapOfLE_valuation_apply {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) (x : K) :
                  (R.mapOfLE S h) (R.valuation x) = S.valuation x
                  def ValuationSubring.idealOfLE {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) :
                  Ideal R

                  The ideal corresponding to a coarsening of a valuation ring.

                  Instances For
                    instance ValuationSubring.prime_idealOfLE {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) :
                    noncomputable def ValuationSubring.ofPrime {K : Type u} [Field K] (A : ValuationSubring K) (P : Ideal A) [P.IsPrime] :

                    The coarsening of a valuation ring associated to a prime ideal.

                    Instances For
                      @[implicit_reducible]
                      noncomputable instance ValuationSubring.ofPrimeAlgebra {K : Type u} [Field K] (A : ValuationSubring K) (P : Ideal A) [P.IsPrime] :
                      Algebra A (A.ofPrime P)
                      instance ValuationSubring.ofPrime_scalar_tower {K : Type u} [Field K] (A : ValuationSubring K) (P : Ideal A) [P.IsPrime] :
                      IsScalarTower (↥A) (↥(A.ofPrime P)) K
                      theorem ValuationSubring.le_ofPrime {K : Type u} [Field K] (A : ValuationSubring K) (P : Ideal A) [P.IsPrime] :
                      A A.ofPrime P
                      @[simp]
                      theorem ValuationSubring.idealOfLE_ofPrime {K : Type u} [Field K] (A : ValuationSubring K) (P : Ideal A) [P.IsPrime] :
                      A.idealOfLE (A.ofPrime P) = P
                      @[simp]
                      theorem ValuationSubring.ofPrime_idealOfLE {K : Type u} [Field K] (R S : ValuationSubring K) (h : R S) :
                      R.ofPrime (R.idealOfLE S h) = S
                      theorem ValuationSubring.ofPrime_le_of_le {K : Type u} [Field K] (A : ValuationSubring K) (P Q : Ideal A) [P.IsPrime] [Q.IsPrime] (h : P Q) :
                      theorem ValuationSubring.idealOfLE_le_of_le {K : Type u} [Field K] (A R S : ValuationSubring K) (hR : A R) (hS : A S) (h : R S) :
                      A.idealOfLE S hS A.idealOfLE R hR

                      The equivalence between coarsenings of a valuation ring and its prime ideals.

                      Instances For

                        An ordered variant of primeSpectrumEquiv.

                        Instances For
                          @[simp]
                          theorem ValuationSubring.primeSpectrumOrderEquiv_apply_coe_carrier {K : Type u} [Field K] (A : ValuationSubring K) (a✝ : (PrimeSpectrum A)ᵒᵈ) :
                          (A.primeSpectrumOrderEquiv a✝) = {x : K | aA, ∃ (a_1 : K), (∃ (x : a_1 A), a_1, (OrderDual.ofDual a✝).asIdeal) x = a * a_1⁻¹}
                          instance ValuationSubring.le_total_ideal {K : Type u} [Field K] (A : ValuationSubring K) :
                          Std.Total fun (x1 x2 : { S : ValuationSubring K // A S }) => x1 x2
                          @[implicit_reducible]
                          theorem ValuationSubring.eq_of_le_of_ne_top {K : Type u} [Field K] (A : ValuationSubring K) [Ring.KrullDimLE 1 A] {B : ValuationSubring K} (hle : A B) (hTop : B ) :
                          A = B
                          theorem ValuationSubring.eq_of_le_of_ne_self {K : Type u} [Field K] (A : ValuationSubring K) [Ring.KrullDimLE 1 A] {B : ValuationSubring K} (hle : A B) (hne : A B) :
                          B =
                          theorem ValuationSubring.eq_of_lt {K : Type u} [Field K] (A : ValuationSubring K) [Ring.KrullDimLE 1 A] {B : ValuationSubring K} (hlt : A < B) :
                          B =

                          The valuation subring associated to a valuation.

                          Instances For
                            @[simp]
                            theorem Valuation.mem_valuationSubring_iff {K : Type u} [Field K] {Γ : Type u_1} [LinearOrderedCommGroupWithZero Γ] (v : Valuation K Γ) (x : K) :
                            theorem Valuation.isEquiv_iff_valuationSubring {K : Type u} [Field K] {Γ₁ : Type u_2} {Γ₂ : Type u_3} [LinearOrderedCommGroupWithZero Γ₁] [LinearOrderedCommGroupWithZero Γ₂] (v₁ : Valuation K Γ₁) (v₂ : Valuation K Γ₂) :
                            noncomputable def ValuationSubring.unitGroup {K : Type u} [Field K] (A : ValuationSubring K) :

                            The unit group of a valuation subring, as a subgroup of .

                            Instances For
                              @[simp]
                              theorem ValuationSubring.mem_unitGroup_iff {K : Type u} [Field K] (A : ValuationSubring K) (x : Kˣ) :
                              x A.unitGroup A.valuation x = 1

                              For a valuation subring A, A.unitGroup agrees with the units of A.

                              Instances For
                                @[simp]
                                theorem ValuationSubring.coe_unitGroupMulEquiv_apply {K : Type u} [Field K] (A : ValuationSubring K) (a : A.unitGroup) :
                                (A.unitGroupMulEquiv a) = a
                                @[simp]
                                theorem ValuationSubring.coe_unitGroupMulEquiv_symm_apply {K : Type u} [Field K] (A : ValuationSubring K) (a : (↥A)ˣ) :
                                (A.unitGroupMulEquiv.symm a) = a

                                The map on valuation subrings to their unit groups is an order embedding.

                                Instances For

                                  The nonunits of a valuation subring of K, as a nonunital subring of K

                                  Instances For
                                    theorem ValuationSubring.mem_nonunits_iff_or {K : Type u} [Field K] (A : ValuationSubring K) {x : K} :
                                    x A.nonunits x = 0 x⁻¹A
                                    theorem ValuationSubring.inv_mem_nonunits_iff {K : Type u} [Field K] (A : ValuationSubring K) {x : K} :
                                    x⁻¹ A.nonunits x = 0 xA

                                    The map on valuation subrings to their nonunits is a dual order embedding.

                                    Instances For

                                      The elements of A.nonunits are those of the maximal ideal of A after coercion to K.

                                      See also mem_nonunits_iff_exists_mem_maximalIdeal, which gets rid of the coercion to K, at the expense of a more complicated right-hand side.

                                      The elements of A.nonunits are those of the maximal ideal of A.

                                      See also coe_mem_nonunits_iff, which has a simpler right-hand side but requires the element to be in A already.

                                      A.nonunits agrees with the maximal ideal of A, after taking its image in K.

                                      The principal unit group of a valuation subring, as a subgroup of .

                                      Instances For

                                        The map on valuation subrings to their principal unit groups is an order embedding.

                                        Instances For

                                          The principal unit group agrees with the kernel of the canonical map from the units of A to the units of the residue field of A.

                                          Instances For

                                            The canonical map from the unit group of A to the units of the residue field of A.

                                            Instances For

                                              The quotient of the unit group of A by the principal unit group of A agrees with the units of the residue field of A.

                                              Instances For

                                                Pointwise actions #

                                                This transfers the action from Subring.pointwiseMulAction, noting that it only applies when the action is by a group. Notably this provides an instances when G is K ≃+* K.

                                                These instances are in the Pointwise locale.

                                                The lemmas in this section are copied from the file Mathlib/Algebra/Ring/Subring/Pointwise.lean; try to keep these in sync.

                                                @[implicit_reducible]

                                                The action on a valuation subring corresponding to applying the action to every element.

                                                This is available as an instance in the Pointwise locale.

                                                Instances For
                                                  @[simp]
                                                  theorem ValuationSubring.coe_pointwise_smul {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] (g : G) (S : ValuationSubring K) :
                                                  ↑(g S) = g S
                                                  @[simp]
                                                  theorem ValuationSubring.pointwise_smul_toSubring {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] (g : G) (S : ValuationSubring K) :
                                                  @[implicit_reducible]

                                                  The action on a valuation subring corresponding to applying the action to every element.

                                                  This is available as an instance in the Pointwise locale.

                                                  This is a stronger version of ValuationSubring.pointwiseSMul.

                                                  Instances For
                                                    theorem ValuationSubring.smul_mem_pointwise_smul {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] (g : G) (x : K) (S : ValuationSubring K) :
                                                    x Sg x g S
                                                    theorem ValuationSubring.mem_smul_pointwise_iff_exists {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] (g : G) (x : K) (S : ValuationSubring K) :
                                                    x g S sS, g s = x
                                                    @[simp]
                                                    theorem ValuationSubring.smul_mem_pointwise_smul_iff {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] {g : G} {S : ValuationSubring K} {x : K} :
                                                    g x g S x S
                                                    theorem ValuationSubring.mem_pointwise_smul_iff_inv_smul_mem {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] {g : G} {S : ValuationSubring K} {x : K} :
                                                    x g S g⁻¹ x S
                                                    theorem ValuationSubring.mem_inv_pointwise_smul_iff {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] {g : G} {S : ValuationSubring K} {x : K} :
                                                    x g⁻¹ S g x S
                                                    @[simp]
                                                    theorem ValuationSubring.pointwise_smul_le_pointwise_smul_iff {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] {g : G} {S T : ValuationSubring K} :
                                                    g S g T S T
                                                    theorem ValuationSubring.pointwise_smul_subset_iff {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] {g : G} {S T : ValuationSubring K} :
                                                    g S T S g⁻¹ T
                                                    theorem ValuationSubring.subset_pointwise_smul_iff {K : Type u} [Field K] {G : Type u_1} [Group G] [MulSemiringAction G K] {g : G} {S T : ValuationSubring K} :
                                                    S g T g⁻¹ S T
                                                    def ValuationSubring.comap {K : Type u} [Field K] {L : Type u_1} [Field L] (A : ValuationSubring L) (f : K →+* L) :

                                                    The pullback of a valuation subring A along a ring homomorphism K →+* L.

                                                    Instances For
                                                      @[simp]
                                                      theorem ValuationSubring.coe_comap {K : Type u} [Field K] {L : Type u_1} [Field L] (A : ValuationSubring L) (f : K →+* L) :
                                                      (A.comap f) = f ⁻¹' A
                                                      @[simp]
                                                      theorem ValuationSubring.mem_comap {K : Type u} [Field K] {L : Type u_1} [Field L] {A : ValuationSubring L} {f : K →+* L} {x : K} :
                                                      x A.comap f f x A
                                                      theorem ValuationSubring.comap_comap {K : Type u} [Field K] {L : Type u_1} {J : Type u_2} [Field L] [Field J] (A : ValuationSubring J) (g : L →+* J) (f : K →+* L) :
                                                      (A.comap g).comap f = A.comap (g.comp f)