Documentation

TauCeti.RingTheory.Valuation.RestrictToConvex

Restricting a valuation to a convex subgroup #

Wedhorn, Adic Spaces (arXiv:1910.05934v1), §7.1.2.

Given a valuation v and a convex subgroup H of the units of its value monoid, the restriction of v to H keeps those values whose unit lies in H and sends every other value to 0. It is the construction underlying the retraction r_I : Spv A → Spv (A, I).

That this is again a valuation is not formal: multiplicativity fails for an arbitrary subgroup, because two units outside H can have a product inside it. Convexity of H together with the hypothesis that H absorbs every attained value ≥ 1 is what rules that out: a unit outside H must lie below 1, so a product of two such is below each factor.

Main definitions #

Main results #

References #

Provenance #

Ported from AINTLIB (github.com/CBirkbeck/AINTLIB, Apache-2.0), branch dev/adic-spaces at commit 37bbdaeb9ad9e3bc9f0d660feadc2779e455a91c, project projects/AdicSpaces/, file Adic spaces/ValuationContinuity.lean, declarations convexRestrictFun and restrictToConvexBounded, together with the bound and support lemmas ported here: supp_le_restrictToConvex_supp (:724). The source's restrictToConvex_mul_inv_pow_le_one (:814) and one_lt_restrictToConvex_mul_inv_pow (:839) are generalised rather than ported: their content is here as restrictToConvex_mul_inv_le_one and one_lt_restrictToConvex_mul_inv, stated for an arbitrary kept divisor, of which the source's power forms are the case b = t ^ n. That file's restrictToConvex_le_one (:733) and restrictToConvex_lt_one_of_val_lt_one (:786) are deliberately not ported: here they are one-line specializations of restrictToConvex_le_iff and restrictToConvex_lt_coe_iff at 1, so a caller applies those directly. That development carries set_option backward.isDefEq.respectTransparency false on the definition and several proofs; TauCeti's CI forbids set_option, and it turns out not to be needed — stating the dite chain as restrictToConvexFun_unfold and rewriting through it, rather than unfolding the definition in place, lets the instances be synthesised in the consumer's context.

noncomputable def Valuation.restrictToConvex {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) :

The restriction of v to a convex subgroup H of its value units. Values whose unit lies in H are kept; every other value is sent to 0.

The hypothesis says that H absorbs each attained value ≥ 1. It cannot be dropped: without it the result is not multiplicative, since two units outside H may have a product inside it.

Equations
Instances For
    theorem Valuation.restrictToConvex_apply_of_mem {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {r : R} (hr : v r ≠ 0) (hm : Units.mk0 (v r) hr ∈ H) :
    (v.restrictToConvex H hH) r = ↑⟨Units.mk0 (v r) hr, hm⟩

    On a value whose unit lies in H, the restriction keeps that unit.

    @[simp]
    theorem Valuation.restrictToConvex_apply_of_notMem {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {r : R} (hr : v r ≠ 0) (hm : Units.mk0 (v r) hr ∉ H) :
    (v.restrictToConvex H hH) r = 0

    Off H, the restriction vanishes.

    @[simp]
    theorem Valuation.restrictToConvex_apply_of_eq_zero {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {r : R} (hr : v r = 0) :
    (v.restrictToConvex H hH) r = 0

    The restriction vanishes wherever v does.

    theorem Valuation.restrictToConvex_le_iff_of_mem {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {r s : R} (hr : v r ≠ 0) (hs : v s ≠ 0) (hmr : Units.mk0 (v r) hr ∈ H) (hms : Units.mk0 (v s) hs ∈ H) :
    (v.restrictToConvex H hH) r ≤ (v.restrictToConvex H hH) s ↔ v r ≤ v s

    On values whose units lie in H, the restriction both preserves and reflects the order. This is what lets an order fact about v be moved to the restricted valuation without unfolding either.

    Not @[simp]: restrictToConvex_le_iff is the simp-normal form for a comparison of restricted values, and it rewrites this lemma's left-hand side, which simpNF rejects.

    @[simp]
    theorem Valuation.restrictToConvex_le_iff {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) (r s : R) :
    (v.restrictToConvex H hH) r ≤ (v.restrictToConvex H hH) s ↔ (v.restrictToConvex H hH) r = 0 ∨ (v.restrictToConvex H hH) s ≠ 0 ∧ v r ≤ v s

    Comparison after restriction, totally. A discarded value sits at the bottom, so it is below everything; a kept value is below only kept values; and two kept values compare exactly as they did under v. restrictToConvex_le_iff_of_mem is the both-kept branch, in the form consumers holding membership hypotheses want.

    The side conditions are stated as vanishing of the restriction rather than as membership in H, so that restrictToConvex_eq_zero_iff discharges them without the caller naming H.

    theorem Valuation.one_le_restrictToConvex {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {c : R} (h1 : 1 ≤ v c) :
    1 ≤ (v.restrictToConvex H hH) c

    A value at least 1 stays at least 1 under the restriction. Such a value is always kept, since H absorbs the attained values ≥ 1 by hypothesis.

    theorem Valuation.mk0_mem_of_forall_le_one {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (h : ∀ (r : R), v r ≤ 1) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (a : R) (ha : v a ≠ 0) (h1 : 1 ≤ v a) :
    Units.mk0 (v a) ha ∈ H

    A valuation bounded by 1 satisfies the absorption hypothesis vacuously. If v r ≤ 1 for every r, then an attained value that is also ≥ 1 equals 1, so its unit is 1 and lies in every convex subgroup. This is what lets restrictToConvex be applied to a valuation of a ring of definition without first choosing H.

    theorem Valuation.mk0_mem_of_inv_le_of_le {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) {H : TauCeti.ConvexSubgroup Γ₀ˣ} (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {b c : R} (hb : v b ≠ 0) (h1 : 1 ≤ v c) (hlo : (v c)⁻¹ ≤ v b) (hhi : v b ≤ v c) :
    Units.mk0 (v b) hb ∈ H

    H keeps every value sandwiched between an attained value ≥ 1 and its inverse. Since H absorbs the attained values ≥ 1, and is convex, it absorbs everything they bracket — which is exactly the characteristic values of v.

    theorem Valuation.restrictToConvex_eq_zero_iff_of_ne {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {r : R} (hr : v r ≠ 0) :
    (v.restrictToConvex H hH) r = 0 ↔ Units.mk0 (v r) hr ∉ H

    The restriction vanishes at a nonzero value exactly when its unit avoids H.

    Not @[simp]: restrictToConvex_eq_zero_iff is the simp-normal form for a vanishing restriction, and tagging this branch too would make normalisation depend on whether a nonvanishing proof happens to be available.

    theorem Valuation.restrictToConvex_lt_coe_iff {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) (r : R) (u : ↥H.toSubgroup) :
    (v.restrictToConvex H hH) r < ↑u ↔ v r < ↑↑u

    Comparing a restricted value against an arbitrary element of H, back in Γ₀.

    Unlike restrictToConvex_le_iff, which relates two restricted values, this compares a restricted value with an abstract member of H — the form a cofinality argument needs, where the bound comes from the value group rather than from a ring element.

    The discarded branch is the interesting one: a unit outside H lies below 1, and convexity then puts it strictly below every member of H, since otherwise H would have to contain it.

    theorem Valuation.coe_le_restrictToConvex_iff {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) (r : R) (u : ↥H.toSubgroup) :
    ↑u ≤ (v.restrictToConvex H hH) r ↔ ↑↑u ≤ v r

    The companion of restrictToConvex_lt_coe_iff with the member of H on the left.

    Both discarded branches work the same way: a value the restriction throws away sits strictly below every member of H, so no member of H is below it.

    @[simp]
    theorem Valuation.restrictToConvex_eq_zero_iff {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) (r : R) :
    (v.restrictToConvex H hH) r = 0 ↔ v r = 0 ∨ ∃ (hr : v r ≠ 0), Units.mk0 (v r) hr ∉ H

    Where the restriction vanishes, totally: at the zeros of v, and where v is nonzero but its unit avoids H. restrictToConvex_eq_zero_iff_of_ne is the nonzero branch, in the form consumers holding a nonvanishing hypothesis want.

    theorem Valuation.restrictToConvex_mul_inv_le_one {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {a b : R} (hb : v b ≠ 0) (hmem : Units.mk0 (v b) hb ∈ H) (hab : v a ≤ v b) :
    (v.restrictToConvex H hH) a * ((v.restrictToConvex H hH) b)⁻¹ ≤ 1

    Dividing a restricted value by a kept value that dominates it lands at or below 1. Only the order comparison and membership of the divisor are used; nothing here is special to a power.

    theorem Valuation.one_lt_restrictToConvex_mul_inv {R : Type u_1} [Ring R] {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] (v : Valuation R Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : R) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) {a b : R} (hb : v b ≠ 0) (hmem : Units.mk0 (v b) hb ∈ H) (hlt : v b < v a) :
    1 < (v.restrictToConvex H hH) a * ((v.restrictToConvex H hH) b)⁻¹

    A restricted value strictly dominating a kept value stays strictly above 1 after dividing by it. As with the ≤ form, only the comparison and the divisor's membership matter.

    theorem Valuation.supp_le_restrictToConvex_supp {Γ₀ : Type u_2} [LinearOrderedCommGroupWithZero Γ₀] {S : Type u_3} [CommRing S] (v : Valuation S Γ₀) (H : TauCeti.ConvexSubgroup Γ₀ˣ) (hH : ∀ (a : S) (ha : v a ≠ 0), 1 ≤ v a → Units.mk0 (v a) ha ∈ H) :

    The support can only grow under the restriction: every zero of v is a zero of the restricted valuation, alongside the discarded values. Stated over a commutative ring because Valuation.supp is.