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 R
endows a commutative ringR
with a relation arising from a valuation. This is equivalent to fixing an equivalence class of valuations onR
. Use the notationx ≤ᵥ y
for this relation.ValuativeRel.valuation R
is the "canonical" valuation associated toValuativeRel R
, taking values inValuativeRel.ValueGroupWithZero R
.- Given a valuation
v
onR
and an instance[ValuativeRel R]
, writing[v.Compatible]
ensures that the relationx ≤ᵥ y
is 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 onR
agrees 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 → B
is compatible with the valuations onA
andB
. 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
The strict version of the valuative relation.
Instances For
The strict version of the valuative relation.
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.rel_refl
.
Alias of ValuativeRel.rel_rfl
.
Equations
- ValuativeRel.instTransRel = { trans := ⋯ }
Alias of ValuativeRel.rel_trans
.
Alias of ValuativeRel.rel_trans'
.
The submonoid of elements x : R
whose valuation is positive.
Equations
Instances For
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
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
The morphism of posSubmonoid
s 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.