Documentation

TauCeti.Algebra.Order.Group.ConvexSubgroup

Convex subgroups of linearly ordered groups #

A subgroup of a group with a linear order is convex if it contains every element lying between two of its members. That definition, the closure and preimage constructions and the elementary exclusion lemmas need no more than a group with a linear order. The results that make convex subgroups useful for valuation theory need the value-group setting, a linearly ordered commutative group: there any two convex subgroups are comparable, each has a largest convex subgroup avoiding a given element, and the quotient by one carries a linear order making it an ordered group again — so convex subgroups are exactly the kernels of the order-compatible quotients of a value group. This file develops the basic theory following Wedhorn, Adic Spaces (arXiv:1910.05934v1), §1.4 and §7.1; the convex subgroup cΓ_v(I) of Wedhorn Definition 7.3 is intended to be built from closure in the forthcoming valuation-spectrum development of Spv (A, I).

Main definitions #

Main results #

References #

Ported from the AINTLIB development projects/AdicSpaces/Adic spaces/OrderedGroupConvex.lean, adapted to the pinned Mathlib: the quotient order is obtained from Mathlib's condensation API (Quotient.instLinearOrder over order-connected fibers) rather than constructed by hand.

quotientMk_monotone and quotientMk_lt_one_of_notMem come from a different AINTLIB file: projects/AdicSpaces/Adic spaces/ValuationCoarsening.lean at commit 37bbdaeb, where they are the order facts the coarsening construction consumes.

structure TauCeti.ConvexSubgroup (Γ : Type u_1) [Group Γ] [LinearOrder Γ] extends Subgroup Γ :
Type u_1

A convex subgroup of a group Γ with a linear order is a subgroup that is order-convex: if a ≤ x ≤ b and a, b ∈ H, then x ∈ H.

Instances For
    @[instance_reducible]
    Equations
    theorem TauCeti.ConvexSubgroup.ext {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {H₁ H₂ : ConvexSubgroup Γ} (h : ∀ (x : Γ), x ∈ H₁ ↔ x ∈ H₂) :
    H₁ = H₂
    theorem TauCeti.ConvexSubgroup.ext_iff {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {H₁ H₂ : ConvexSubgroup Γ} :
    H₁ = H₂ ↔ ∀ (x : Γ), x ∈ H₁ ↔ x ∈ H₂

    A convex subgroup is an order-connected subset.

    theorem TauCeti.ConvexSubgroup.convex {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (H : ConvexSubgroup Γ) {a b x : Γ} (ha : a ∈ H) (hb : b ∈ H) (h₁ : a ≤ x) (h₂ : x ≤ b) :
    x ∈ H

    Convexity: if a, b ∈ H and a ≤ x ≤ b, then x ∈ H.

    theorem TauCeti.ConvexSubgroup.mem_of_one_le_le {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {H : ConvexSubgroup Γ} {x h : Γ} (hh : h ∈ H) (h1 : 1 ≤ x) (hx : x ≤ h) :
    x ∈ H

    A convex subgroup contains every element between 1 and one of its members.

    theorem TauCeti.ConvexSubgroup.mem_of_le_le_one {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {H : ConvexSubgroup Γ} {x h : Γ} (hh : h ∈ H) (hx : h ≤ x) (h1 : x ≤ 1) :
    x ∈ H

    A convex subgroup contains every element between one of its members and 1.

    @[instance_reducible]

    The trivial subgroup {1} is convex.

    Equations
    @[instance_reducible]

    The full group is a convex subgroup.

    Equations
    @[simp]
    theorem TauCeti.ConvexSubgroup.mem_bot {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {x : Γ} :
    x ∈ ⊥ ↔ x = 1
    @[simp]
    theorem TauCeti.ConvexSubgroup.mem_top {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {x : Γ} :
    @[instance_reducible]

    Convex subgroups are ordered by inclusion.

    Equations

    The underlying subgroup #

    Membership, the underlying set, the order and the two lattice ends all agree with their Subgroup counterparts definitionally. Naming them lets proofs move between a convex subgroup and H.toSubgroup by rewriting.

    @[simp]
    theorem TauCeti.ConvexSubgroup.mem_toSubgroup {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {H : ConvexSubgroup Γ} {x : Γ} :

    Membership in the underlying subgroup is membership in the convex subgroup.

    @[simp]
    theorem TauCeti.ConvexSubgroup.coe_toSubgroup {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (H : ConvexSubgroup Γ) :
    ↑H.toSubgroup = ↑H

    The underlying subgroup has the same underlying set.

    @[simp]

    Inclusion of convex subgroups is inclusion of the underlying subgroups.

    @[simp]

    Strict inclusion of convex subgroups is strict inclusion of the underlying subgroups.

    A convex subgroup is determined by the subgroup underlying it: convexity is a property, not extra data.

    @[simp]

    Two convex subgroups are equal exactly when their underlying subgroups are.

    @[simp]

    The underlying subgroup of the trivial convex subgroup is the trivial subgroup.

    @[simp]

    The underlying subgroup of the full convex subgroup is the full subgroup.

    Elements outside a convex subgroup #

    theorem TauCeti.ConvexSubgroup.lt_of_notMem_of_le_one {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (H : ConvexSubgroup Γ) {γ : Γ} (hγ : γ ∉ H) (hγ1 : γ ≤ 1) {h : Γ} (hh : h ∈ H) :
    γ < h

    If γ ∉ H and γ ≤ 1, then γ lies strictly below every member of H.

    theorem TauCeti.ConvexSubgroup.lt_of_notMem_of_one_le {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (H : ConvexSubgroup Γ) {γ : Γ} (hγ : γ ∉ H) (hγ1 : 1 ≤ γ) {h : Γ} (hh : h ∈ H) :
    h < γ

    If γ ∉ H and 1 ≤ γ, then γ lies strictly above every member of H.

    theorem TauCeti.ConvexSubgroup.notMem_of_notMem_of_one_le_le {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (H : ConvexSubgroup Γ) {γ : Γ} (hγ : γ ∉ H) (hγ1 : 1 ≤ γ) {x : Γ} (hγx : γ ≤ x) :
    x ∉ H

    If γ ∉ H and 1 ≤ γ, then no element above γ lies in H.

    theorem TauCeti.ConvexSubgroup.notMem_of_notMem_of_le_le_one {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (H : ConvexSubgroup Γ) {γ : Γ} (hγ : γ ∉ H) (hγ1 : γ ≤ 1) {x : Γ} (hxγ : x ≤ γ) :
    x ∉ H

    If γ ∉ H and γ ≤ 1, then no element below γ lies in H.

    The smallest convex subgroup containing a set #

    The smallest convex subgroup containing a set S, as the intersection of all convex subgroups containing S. The convex subgroup cΓ_v(I) of Wedhorn Definition 7.3 will be an instance of this construction.

    Equations
    Instances For
      theorem TauCeti.ConvexSubgroup.mem_closure {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {S : Set Γ} {x : Γ} :
      x ∈ closure S ↔ ∀ (H : ConvexSubgroup Γ), S ⊆ ↑H → x ∈ H

      Membership in the convex closure: membership in every convex subgroup containing the generating set. Deliberately not a simp lemma — as a normal form it would rewrite every x ∈ closure S into the defining intersection, exposing the construction. closure_le is the universal property simp should use instead.

      theorem TauCeti.ConvexSubgroup.subset_closure {Γ : Type u_1} [Group Γ] [LinearOrder Γ] (S : Set Γ) :
      S ⊆ ↑(closure S)

      The generating set is contained in its convex closure.

      @[simp]
      theorem TauCeti.ConvexSubgroup.closure_le {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {S : Set Γ} {H : ConvexSubgroup Γ} :
      closure S ≤ H ↔ S ⊆ ↑H

      Universal property: closure S lies inside a convex subgroup iff the generating set does.

      @[simp]

      The convex subgroup generated by a set is generated by its inverse image.

      @[simp]

      The convex subgroup generated by an element equals the one generated by its inverse.

      Preimages of convex subgroups #

      def TauCeti.ConvexSubgroup.comap {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {Δ : Type u_2} {F : Type u_3} [Group Δ] [LinearOrder Δ] [FunLike F Γ Δ] [MonoidHomClass F Γ Δ] [OrderHomClass F Γ Δ] (f : F) (K : ConvexSubgroup Δ) :

      The preimage of a convex subgroup under an ordered group homomorphism is a convex subgroup. This lifts convex subgroups from quotient value groups back to the original value group.

      Equations
      Instances For
        @[simp]
        theorem TauCeti.ConvexSubgroup.mem_comap {Γ : Type u_1} [Group Γ] [LinearOrder Γ] {Δ : Type u_2} {F : Type u_3} [Group Δ] [LinearOrder Δ] [FunLike F Γ Δ] [MonoidHomClass F Γ Δ] [OrderHomClass F Γ Δ] {f : F} {K : ConvexSubgroup Δ} {x : Γ} :
        x ∈ comap f K ↔ f x ∈ K

        The comap of a convex subgroup along the identification (WithZero Γ)ˣ ≃*o Γ.

        This is what carries a convex subgroup of a value group over to the units of the value monoid containing it, which is the form a restriction of a valuation consumes.

        Equations
        Instances For
          @[simp]

          Membership in the transported subgroup is membership of the corresponding value group element: the unit u is carried across by OrderMonoidIso.unitsWithZero.

          Total ordering of convex subgroups #

          theorem TauCeti.ConvexSubgroup.le_total {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] (H₁ H₂ : ConvexSubgroup Γ) :
          H₁ ≤ H₂ ∨ H₂ ≤ H₁

          Any two convex subgroups are comparable.

          @[instance_reducible]
          Equations
          • One or more equations did not get rendered due to their size.

          The largest convex subgroup avoiding an element #

          theorem TauCeti.ConvexSubgroup.mem_of_mabs_le_mabs {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {H : ConvexSubgroup Γ} {x h : Γ} (hh : h ∈ H) (hx : |x|ₘ ≤ |h|ₘ) :
          x ∈ H

          An element bounded in absolute value by a member of a convex subgroup is a member.

          noncomputable def TauCeti.ConvexSubgroup.maxAvoid {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {γ : Γ} (hγ : γ ≠ 1) :

          The largest convex subgroup avoiding an element γ ≠ 1: Mathlib's Archimedean open ball at the class of γ, that is, the elements of strictly larger Archimedean class. Reusing MulArchimedeanClass.ballSubgroup rather than building the directed union of all convex subgroups avoiding γ gives the same subgroup with the group structure already in place.

          Equations
          Instances For
            @[simp]

            Membership in maxAvoid hγ: a strictly larger Archimedean class than γ.

            theorem TauCeti.ConvexSubgroup.notMem_maxAvoid {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {γ : Γ} (hγ : γ ≠ 1) :
            γ ∉ maxAvoid hγ

            The avoided element is not a member.

            @[simp]
            theorem TauCeti.ConvexSubgroup.le_maxAvoid {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {γ : Γ} {hγ : γ ≠ 1} {H : ConvexSubgroup Γ} :
            H ≤ maxAvoid hγ ↔ γ ∉ H

            Universal property: a convex subgroup lies inside maxAvoid hγ iff it excludes γ.

            The convex subgroup generated by a multiplicatively closed set #

            @[simp]
            theorem TauCeti.ConvexSubgroup.mem_closure_of_nonempty_of_mul_mem_of_one_le {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {S : Set Γ} (hne : S.Nonempty) (hmul : ∀ x ∈ S, ∀ y ∈ S, x * y ∈ S) (hge : ∀ x ∈ S, 1 ≤ x) {x : Γ} :
            x ∈ closure S ↔ ∃ g ∈ S, g⁻¹ ≤ x ∧ x ≤ g

            For a nonempty, multiplicatively closed set of elements ≥ 1, membership in the convex closure is boundedness by a single member.

            This is what one needs whenever a convex subgroup is generated by the values a multiplicative map attains — for instance the characteristic subgroup cΓ_v of a valuation, generated by the attained values ≥ 1, where it says that a single attained value already bounds.

            The convex subgroup generated by one element #

            @[simp]
            theorem TauCeti.ConvexSubgroup.mem_closure_singleton {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {y x : Γ} :
            x ∈ closure {y} ↔ ∃ (n : ℕ), |x|ₘ ≤ |y|ₘ ^ n

            The convex subgroup generated by a single element consists of the elements whose absolute value is bounded by a power of |y|ₘ — the closed archimedean ball of y.

            @[simp]
            theorem TauCeti.ConvexSubgroup.closure_singleton_pow {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {γ : Γ} {n : ℕ} (hn : n ≠ 0) :

            An element and its nonzero natural powers generate the same convex subgroup. No nontriviality is required — at γ = 1 both sides are ⊥.

            Wedhorn needs this in Lemma 7.2: the largest value is attained on a finitely generated ideal J with √I = √J, so it is only some power of it that is attained on I itself.

            theorem TauCeti.ConvexSubgroup.lt_closure_singleton {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {C : ConvexSubgroup Γ} {h : Γ} (hC : h ∉ C) :

            An element outside a convex subgroup generates a strictly larger convex subgroup. Wedhorn needs this in the proof of Lemma 7.2 to know cΓ_v ⊊ H before Lemma 7.1 may be applied to the subgroup H generated by the largest value of a generating set. No side condition on h is needed.

            The Archimedean characterization #

            In a MulArchimedean group every convex subgroup is ⊥ or ⊤.

            If every convex subgroup is ⊥ or ⊤, the group is MulArchimedean.

            The Archimedean characterization. A linearly ordered commutative group is MulArchimedean iff its only convex subgroups are ⊥ and ⊤.

            The quotient linear order #

            @[instance_reducible]

            The quotient of Γ by a convex subgroup H is linearly ordered, as the condensation of Γ along the order-connected cosets. The body is not exposed: consumers work through quotient_le_iff rather than by unfolding the condensation.

            Equations
            @[simp]
            theorem TauCeti.ConvexSubgroup.quotient_le_iff {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] (H : ConvexSubgroup Γ) (a b : Γ) :
            ↑a ≤ ↑b ↔ b⁻¹ * a ≤ 1 ∨ b⁻¹ * a ∈ H.toSubgroup

            The defining unfolding of ≤ on the quotient by a convex subgroup: [a] ≤ [b] iff b⁻¹ * a ≤ 1 or b⁻¹ * a ∈ H.

            The quotient linear order is compatible with the group operation.

            The quotient map Γ →* Γ ⧸ H.toSubgroup is monotone.

            theorem TauCeti.ConvexSubgroup.quotientMk_lt_one_of_notMem {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] (H : ConvexSubgroup Γ) {a : Γ} (ha : a ≤ 1) (haH : a ∉ H) :

            An element at most 1 and outside H has class strictly below 1 in the quotient.

            A height-one quotient #

            The quotient by the largest convex subgroup avoiding γ ≠ 1 is nontrivial: the class of γ is different from 1.

            Together with mulArchimedean_quotient_maxAvoid, this is the elementary ordered-group input to the fact that a valuation with a nonzero cofinal value is microbial.

            theorem TauCeti.ConvexSubgroup.mulArchimedean_quotient_maxAvoid {Γ : Type u_2} [CommGroup Γ] [LinearOrder Γ] [IsOrderedMonoid Γ] {γ : Γ} (hγ : γ ≠ 1) (hclosure : closure {γ} = ⊤) :

            If γ generates the whole group as a convex subgroup, the quotient by the largest convex subgroup avoiding γ is archimedean. Equivalently, it has height at most one.

            The quotient by ⊥ is the group itself, as an ordered group. This is the reusable object of this section: it carries order-theoretic properties such as Nontrivial and MulArchimedean across the identification.

            Its body is sealed. Consumers work through quotientBotOrderIso_mk and quotientBotOrderIso_symm_apply rather than by unfolding the construction, exactly as they do for quotientLinearOrder.

            Equations
            Instances For

              quotientBotOrderIso sends the class of a to a.

              Deliberately not @[simp], and the same holds for every application lemma in this group. Each mentions Γ ⧸ (⊥ : ConvexSubgroup Γ).toSubgroup, and bot_toSubgroup is itself a simp lemma rewriting (⊥ : ConvexSubgroup Γ).toSubgroup to (⊥ : Subgroup Γ). So simp normalises that subterm — in the coercion's type arguments, which come from the isomorphism's own domain, not just in the argument — and a left-hand side spelled this way could never match afterwards. Marking these @[simp] would add rules that can never fire.

              The normal form is not reachable either: quotientLinearOrder has head LinearOrder (Γ ⧸ ?H.toSubgroup), so synthesis cannot invert the projection and LinearOrder (Γ ⧸ (⊥ : Subgroup Γ)) does not exist — there is no ordered quotient to state the simp-normal form over. These therefore stay explicit rewrites, which is what lets consumers avoid unfolding the sealed construction.

              quotientBotOrderIso.symm sends a to its class. Not @[simp]; see quotientBotOrderIso_mk.