Valuative Relations #
In this file we introduce a class called ValuativeRel R for a ring R.
This bundles a relation vle : R → R → Prop on R which mimics a
preorder on R arising from a valuation.
We introduce the notation x ≤ᵥ y for this relation.
Recall that the equivalence class of a valuation is completely characterized by
such a preorder. Thus, we can think of ValuativeRel R as a way of
saying that R is endowed with an equivalence class of valuations.
Main Definitions #
ValuativeRel Rendows a commutative ringRwith a relation arising from a valuation. This is equivalent to fixing an equivalence class of valuations onR. Use the notationx ≤ᵥ yfor this relation.ValuativeRel.valuation Ris the "canonical" valuation associated toValuativeRel R, taking values inValuativeRel.ValueGroupWithZero R.- Given a valuation
vonRand an instance[ValuativeRel R], writing[v.Compatible]ensures that the relationx ≤ᵥ yis equivalent tov x ≤ v y. Note that it is possible to have[v.Compatible]and[w.Compatible]for two different valuations onR. - If we have both
[ValuativeRel R]and[TopologicalSpace R], then writing[IsValuativeTopology R]ensures that the topology onRagrees with the one induced by the valuation. - Given
[ValuativeRel A],[ValuativeRel B]and[Algebra A B], the class[ValuativeExtension A B]ensures that the algebra mapA → Bis compatible with the valuations onAandB. For example, this can be used to talk about extensions of valued fields.
Remark #
The last two axioms in ValuativeRel, namely vle_mul_cancel and not_vle_one_zero, are
used to ensure that we have a well-behaved valuation taking values in a value group (with zero).
In principle, it should be possible to drop these two axioms and obtain a value monoid,
however, such a value monoid would not necessarily embed into an ordered abelian group with zero.
Similarly, without these axioms, the support of the valuation need not be a prime ideal.
We have thus opted to include these two axioms and obtain a ValueGroupWithZero associated to
a ValuativeRel in order to best align with the literature about valuations on commutative rings.
Future work could refactor ValuativeRel by dropping the vle_mul_cancel and not_vle_one_zero
axioms, opting to make these mixins instead.
Projects #
The ValuativeRel class should eventually replace the existing Valued typeclass.
Once such a refactor happens, ValuativeRel could be renamed to Valued.
The class [ValuativeRel R] class introduces an operator x ≤ᵥ y : Prop for x y : R
which is the natural relation arising from (the equivalence class of) a valuation on R.
More precisely, if v is a valuation on R then the associated relation is x ≤ᵥ y ↔ v x ≤ v y.
Use this class to talk about the case where R is equipped with an equivalence class
of valuations.
- vle : R → R → Prop
The valuation less-equal operator arising from
ValuativeRel.
Instances
The valuation less-equal operator arising from ValuativeRel.
Equations
- «term_≤ᵥ_» = Lean.ParserDescr.trailingNode `«term_≤ᵥ_» 50 51 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≤ᵥ ") (Lean.ParserDescr.cat `term 51))
Instances For
We say that a valuation v is Compatible if the relation x ≤ᵥ y
is equivalent to v x ≤ v y.
Instances
A preorder on a ring is said to be "valuative" if it agrees with the valuative relation.
Instances
Alias of ValuativeRel.vle.
The valuation less-equal operator arising from ValuativeRel.
Equations
Instances For
Alias of ValuativeRel.vle_total.
Alias of ValuativeRel.vle_trans.
Alias of ValuativeRel.vle_add.
Alias of ValuativeRel.vle_mul_right.
Alias of ValuativeRel.vle_mul_cancel.
Alias of ValuativeRel.not_vle_one_zero.
The valuation less-than relation, defined as x < y ↔ ¬ y ≤ᵥ x.
Instances For
Alias of ValuativeRel.vlt.
The valuation less-than relation, defined as x < y ↔ ¬ y ≤ᵥ x.
Equations
Instances For
The valuation less-than relation, defined as x < y ↔ ¬ y ≤ᵥ x.
Equations
- ValuativeRel.«term_<ᵥ_» = Lean.ParserDescr.trailingNode `ValuativeRel.«term_<ᵥ_» 50 51 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " <ᵥ ") (Lean.ParserDescr.cat `term 51))
Instances For
Alias of ValuativeRel.not_vlt.
Alias of ValuativeRel.vle_refl.
Alias of ValuativeRel.vle_rfl.
Alias of ValuativeRel.vle_refl.
Alias of ValuativeRel.vle_refl.
Alias of ValuativeRel.vle_refl.
Alias of ValuativeRel.vle_rfl.
Alias of ValuativeRel.vle_rfl.
Alias of ValuativeRel.vle_rfl.
Alias of ValuativeRel.zero_vle.
Alias of ValuativeRel.zero_vlt_one.
Alias of ValuativeRel.vle_mul_left.
Equations
- ValuativeRel.instTransVle = { trans := ⋯ }
Alias of ValuativeRel.vle_trans.
Alias of ValuativeRel.vle_trans.
Alias of ValuativeRel.vle_trans.
Alias of ValuativeRel.vle_trans'.
Alias of ValuativeRel.vle_trans'.
Alias of ValuativeRel.vle_trans'.
Alias of ValuativeRel.vle_trans'.
Alias of ValuativeRel.mul_vle_mul.
Alias of ValuativeRel.mul_vle_mul_iff_left.
Alias of ValuativeRel.mul_vle_mul_iff_right.
Alias of ValuativeRel.mul_vlt_mul_iff_left.
Alias of ValuativeRel.mul_vlt_mul_iff_right.
Alias of ValuativeRel.mul_vle_mul.
Alias of ValuativeRel.vle_add_cases.
Alias of ValuativeRel.zero_vlt_mul.
The submonoid of elements x : R whose valuation is positive.
Equations
Instances For
Alias of ValuativeRel.zero_vlt_coe_posSubmonoid.
The setoid used to construct ValueGroupWithZero R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The "canonical" value group-with-zero of a ring with a valuative relation.
Equations
Instances For
Construct an element of the value group-with-zero from an element r : R and
y : posSubmonoid R. This should be thought of as v r / v y.
Instances For
Lifts a function R → posSubmonoid R → α to the value group-with-zero of R.
Equations
- ValuativeRel.ValueGroupWithZero.lift f hf t = Quotient.lift (fun (x : R × ↥(ValuativeRel.posSubmonoid R)) => match x with | (x, y) => f x y) ⋯ t
Instances For
Lifts a function R → posSubmonoid R → R → posSubmonoid R → α to
the value group-with-zero of R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- ValuativeRel.instBotValueGroupWithZero = { bot := 0 }
Equations
- ValuativeRel.instOrderBotValueGroupWithZero = { toBot := ValuativeRel.instBotValueGroupWithZero, bot_le := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
The value group-with-zero is a linearly ordered commutative group with zero.
Equations
- One or more equations did not get rendered due to their size.
The "canonical" valuation associated to a valuative relation.
Equations
- ValuativeRel.valuation R = { toFun := fun (r : R) => ValuativeRel.ValueGroupWithZero.mk r 1, map_zero' := ⋯, map_one' := ⋯, map_mul' := ⋯, map_add_le_max' := ⋯ }
Instances For
Construct a valuative relation on a ring using a valuation.
Equations
- ValuativeRel.ofValuation v = { vle := fun (x y : S) => v x ≤ v y, vle_total := ⋯, vle_trans := ⋯, vle_add := ⋯, vle_mul_right := ⋯, vle_mul_cancel := ⋯, not_vle_one_zero := ⋯ }
Instances For
Alias of Valuation.vle_iff_le.
Alias of Valuation.vlt_iff_lt.
Alias of Valuation.vlt_iff_lt.
Alias of Valuation.vle_one_iff.
Alias of Valuation.vlt_one_iff.
Alias of Valuation.one_vle_iff.
Alias of Valuation.one_vlt_iff.
Alias of Valuation.apply_posSubmonoid_ne_zero.
An alias for endowing a ring with a preorder defined as the valuative relation.
Equations
Instances For
The ring instance on WithPreorder R arising from the ring structure on R.
Equations
The preorder on WithPreorder R arising from the valuative relation on R.
The valuative relation on WithPreorder R arising from the valuative relation on R.
This is defined as the preorder itself.
Equations
- One or more equations did not get rendered due to their size.
The support of the valuation on R.
Equations
Instances For
Alias of ValuativeRel.vlt_of_vlt_of_vle.
Alias of ValuativeRel.vlt_of_vlt_of_vle.
Alias of ValuativeRel.vlt_of_vlt_of_vle.
Alias of ValuativeRel.vlt_of_vlt_of_vle.
Alias of ValuativeRel.mul_vlt_mul_iff_left.
Alias of ValuativeRel.vlt_of_vle_of_vlt.
Alias of ValuativeRel.mul_vlt_mul_iff_left.
Alias of ValuativeRel.mul_vlt_mul_iff_left.
Alias of ValuativeRel.vlt.vle.
Alias of ValuativeRel.vlt.trans.
Alias of ValuativeRel.vle_mul_right_iff.
Alias of ValuativeRel.vle_mul_left_iff.
Alias of ValuativeRel.vlt_mul_right_iff.
Alias of the reverse direction of ValuativeRel.vlt_mul_right_iff.
Alias of the reverse direction of ValuativeRel.vlt_mul_right_iff.
Alias of the reverse direction of ValuativeRel.vlt_mul_right_iff.
Alias of ValuativeRel.vlt_mul_left_iff.
Alias of the reverse direction of ValuativeRel.vlt_mul_left_iff.
Alias of the reverse direction of ValuativeRel.vlt_mul_left_iff.
Alias of the reverse direction of ValuativeRel.vlt_mul_left_iff.
Alias of ValuativeRel.mul_vlt_mul_of_vlt_of_vle.
Alias of ValuativeRel.mul_vlt_mul_of_vle_of_vlt.
Alias of ValuativeRel.mul_vlt_mul.
Alias of ValuativeRel.pow_vle_pow.
Alias of ValuativeRel.pow_vlt_pow.
Alias of ValuativeRel.pow_vle_pow_of_vle_one.
Alias of ValuativeRel.pow_vle_pow_of_one_vle.
Alias of ValuativeRel.vle_zero_iff.
Alias of ValuativeRel.zero_vlt_iff.
Alias of ValuativeRel.vle_div_iff.
Alias of ValuativeRel.div_vle_iff.
Alias of ValuativeRel.one_vle_div_iff.
Alias of ValuativeRel.div_vle_one_iff.
Alias of ValuativeRel.one_vle_inv.
Alias of ValuativeRel.inv_vle_one.
Alias of ValuativeRel.inv_vlt_one.
Alias of ValuativeRel.one_vlt_inv.
An auxiliary structure used to define IsRankLeOne.
The embedding of the value group-with-zero into the nonnegative reals.
- strictMono : StrictMono ⇑self.emb
Instances For
We say that a ring with a valuative relation is of rank one if
there exists a strictly monotone embedding of the "canonical" value group-with-zero into
the nonnegative reals, and the image of this embedding contains some element different
from 0 and 1.
- nonempty : Nonempty (RankLeOneStruct R)
Instances
We say that a valuative relation on a ring is nontrivial if the value group-with-zero is nontrivial, meaning that it has an element which is different from 0 and 1.
- condition : ∃ (γ : ValueGroupWithZero R), γ ≠ 0 ∧ γ ≠ 1
Instances
A ring with a valuative relation is discrete if its value group-with-zero
has a maximal element < 1.
- has_maximal_element : ∃ γ < 1, ∀ δ < 1, δ ≤ γ
Instances
The maximal element that is < 1 in the value group of a discrete valuation.
Equations
Instances For
We say that a topology on R is valuative if the neighborhoods of 0 in R
are determined by the relation · ≤ᵥ ·.
Instances
Alias of IsValuativeTopology.
We say that a topology on R is valuative if the neighborhoods of 0 in R
are determined by the relation · ≤ᵥ ·.
Equations
Instances For
Any valuation compatible with the valuative relation can be factored through the value group.
Equations
- One or more equations did not get rendered due to their size.
Instances For
For any x ∈ posSubmonoid R, the trivial valuation 1 : Valuation R Γ sends x to 1.
In fact, this is true for any x ≠ 0. This lemma is a special case useful for shorthand of
x ∈ posSubmonoid R → x ≠ 0.
If B is an A algebra and both A and B have valuative relations,
we say that B|A is a valuative extension if the valuative relation on A is
induced by the one on B.
Instances
Alias of ValuativeExtension.vlt_iff_vlt.
The morphism of posSubmonoids associated to an algebra map.
This is used in constructing ValuativeExtension.mapValueGroupWithZero.
Equations
- ValuativeExtension.mapPosSubmonoid A B = { toFun := fun (x : ↥(ValuativeRel.posSubmonoid A)) => match x with | ⟨a, ha⟩ => ⟨(algebraMap A B) a, ⋯⟩, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The map on value groups-with-zero associated to the structure morphism of an algebra.
Equations
Instances For
Any rank-at-most-one valuation has a mul-archimedean value group.
The converse (for any compatible valuation) is ValuativeRel.isRankLeOne_iff_mulArchimedean
which is in a later file since it requires a larger theory of reals.