Valuative Relations #
In this file we introduce a class called ValuativeRel R for a ring R.
This bundles a relation rel : 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 valution
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 rel_mul_cancel and not_rel_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 rel_mul_cancel and not_rel_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.
- rel : R → R → Prop
The relation operator arising from
ValuativeRel.
Instances
The relation 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 ≤ x y.
Instances
A preorder on a ring is said to be "valuative" if it agrees with the valuative relation.
Instances
Alias of ValuativeRel.rel_refl.
Alias of ValuativeRel.rel_rfl.
Equations
- ValuativeRel.instTransRel = { trans := ⋯ }
Alias of ValuativeRel.rel_trans.
Alias of ValuativeRel.rel_trans'.
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 = { rel := fun (x y : S) => v x ≤ v y, rel_total := ⋯, rel_trans := ⋯, rel_add := ⋯, rel_mul_right := ⋯, rel_mul_cancel := ⋯, not_rel_one_zero := ⋯ }
Instances For
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.
Equations
- ValuativeRel.instPreorderWithPreorder = { le := fun (x y : R) => x ≤ᵥ y, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯ }
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
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
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
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
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 mularchimedean 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.