The basics of valuation theory. #
The basic theory of valuations (non-archimedean norms) on a commutative ring, following T. Wedhorn's unpublished notes “Adic Spaces” ([wedhorn_adic]).
The definition of a valuation we use here is Definition 1.22 of [wedhorn_adic].
A valuation on a ring R is a monoid homomorphism v to a linearly ordered
commutative monoid with zero, that in addition satisfies the following two axioms:
v 0 = 0∀ x y, v (x + y) ≤ max (v x) (v y)
Valuation R Γ₀ is the type of valuations R → Γ₀, with a coercion to the underlying
function. If v is a valuation from R to Γ₀ then the induced group
homomorphism Units(R) → Γ₀ is called unit_map v.
The equivalence "relation" IsEquiv v₁ v₂ : Prop defined in 1.27 of [wedhorn_adic] is not strictly
speaking a relation, because v₁ : Valuation R Γ₁ and v₂ : Valuation R Γ₂ might
not have the same type. This corresponds in ZFC to the set-theoretic difficulty
that the class of all valuations (as Γ₀ varies) on a ring R is not a set.
The "relation" is however reflexive, symmetric and transitive in the obvious
sense. Note that we use 1.27(iii) of [wedhorn_adic] as the definition of equivalence.
Main definitions #
Valuation R Γ₀, the type of valuations onRwith values inΓ₀Valuation.IsNontrivialis the class of non-trivial valuations, namely those for which there is an element in the ring whose valuation is≠ 0and≠ 1.Valuation.IsEquiv, the heterogeneous equivalence relation on valuationsValuation.supp, the support of a valuationAddValuation R Γ₀, the type of additive valuations onRwith values in a linearly ordered additive commutative group with a top element,Γ₀.
Implementation Details #
AddValuation R Γ₀ is implemented as Valuation R (Multiplicative Γ₀)ᵒᵈ.
Notation #
In the WithZero locale, Mᵐ⁰ is a shorthand for WithZero (Multiplicative M).
TODO #
If ever someone extends Valuation, we should fully comply to the DFunLike by migrating the
boilerplate lemmas to ValuationClass.
The type of Γ₀-valued valuations on R.
When you extend this structure, make sure to extend ValuationClass.
- toFun : R → Γ₀
- map_mul' (x y : R) : (↑self.toMonoidWithZeroHom).toFun (x * y) = (↑self.toMonoidWithZeroHom).toFun x * (↑self.toMonoidWithZeroHom).toFun y
- map_add_le_max' (x y : R) : (↑self.toMonoidWithZeroHom).toFun (x + y) ≤ max ((↑self.toMonoidWithZeroHom).toFun x) ((↑self.toMonoidWithZeroHom).toFun y)
The valuation of a sum is less than or equal to the maximum of the valuations.
Instances For
ValuationClass F α β states that F is a type of valuations.
You should also extend this typeclass when you extend Valuation.
The valuation of a sum is less than or equal to the maximum of the valuations.
Instances
Equations
- Valuation.instFunLike = { coe := fun (f : Valuation R Γ₀) => (↑f.toMonoidWithZeroHom).toFun, coe_injective' := ⋯ }
A valuation gives a preorder on the underlying ring.
Equations
- v.toPreorder = Preorder.lift ⇑v
Instances For
If v is a valuation on a division ring then v(x) = 0 iff x = 0.
A ring homomorphism S → R induces a map Valuation R Γ₀ → Valuation S Γ₀.
Equations
- Valuation.comap f v = { toFun := ⇑v ∘ ⇑f, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ }
Instances For
A ≤-preserving group homomorphism Γ₀ → Γ'₀ induces a map Valuation R Γ₀ → Valuation R Γ'₀.
Equations
- Valuation.map f hf v = { toFun := ⇑f ∘ ⇑v, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ }
Instances For
Two valuations on R are defined to be equivalent if they induce the same preorder on R.
Instances For
An ordered monoid isomorphism Γ₀ ≃ Γ'₀ induces an equivalence
Valuation R Γ₀ ≃ Valuation R Γ'₀.
Equations
- Valuation.congr f = { toFun := Valuation.map ↑f ⋯, invFun := Valuation.map ↑f.symm ⋯, left_inv := ⋯, right_inv := ⋯ }
Instances For
The trivial valuation, sending everything to 1 other than 0.
This theorem is a weaker version of Valuation.val_le_one_or_val_inv_lt_one, but more symmetric
in x and x⁻¹.
The subgroup of elements whose valuation is less than a certain unit.
Equations
Instances For
For fields, being nontrivial is equivalent to the existence of a unit with valuation
not equal to 1.
comap preserves equivalence.
Alias of the forward direction of Valuation.isEquiv_iff_val_sub_one_lt_one.
The support of a valuation v : R → Γ₀ is the ideal of R where v vanishes.
Instances For
The support of a valuation is a prime ideal.
The type of Γ₀-valued additive valuations on R.
Equations
- AddValuation R Γ₀ = Valuation R (Multiplicative Γ₀ᵒᵈ)
Instances For
A valuation is coerced to the underlying function R → Γ₀.
Equations
- AddValuation.instFunLike R Γ₀ = { coe := fun (v : AddValuation R Γ₀) => (↑v.toMonoidWithZeroHom).toFun, coe_injective' := ⋯ }
An alternate constructor of AddValuation, that doesn't reference Multiplicative Γ₀ᵒᵈ
Equations
- AddValuation.of f h0 h1 hadd hmul = { toFun := f, map_zero' := h0, map_one' := h1, map_mul' := hmul, map_add_le_max' := hadd }
Instances For
The Valuation associated to an AddValuation (useful if the latter is constructed using
AddValuation.of).
Equations
Instances For
The AddValuation associated to a Valuation.
Equations
Instances For
A helper function for Lean to inferring types correctly
Instances For
A valuation gives a preorder on the underlying ring.
Equations
- v.toPreorder = Preorder.lift ⇑v
Instances For
If v is an additive valuation on a division ring then v(x) = ⊤ iff x = 0.
A ring homomorphism S → R induces a map AddValuation R Γ₀ → AddValuation S Γ₀.
Equations
- AddValuation.comap f v = Valuation.comap f v
Instances For
A ≤-preserving, ⊤-preserving group homomorphism Γ₀ → Γ'₀ induces a map
AddValuation R Γ₀ → AddValuation R Γ'₀.
Equations
- AddValuation.map f ht hf v = Valuation.map { toFun := ⇑f, map_zero' := ht, map_one' := ⋯, map_mul' := ⋯ } ⋯ v
Instances For
Two additive valuations on R are defined to be equivalent if they induce the same
preorder on R.
Equations
- v₁.IsEquiv v₂ = Valuation.IsEquiv v₁ v₂
Instances For
comap preserves equivalence.
The support of an additive valuation v : R → Γ₀ is the ideal of R where v x = ⊤
Equations
- v.supp = Valuation.supp v
Instances For
The AddValuation associated to a Valuation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Valuation associated to a AddValuation.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- v.instCommMonoidWithZeroSubtypeMemSubmonoidMrange = { toCommMonoid := (MonoidHom.mrange v).toCommMonoid, zero := ⟨0, ⋯⟩, zero_mul := ⋯, mul_zero := ⋯ }
Equations
- One or more equations did not get rendered due to their size.