Documentation

Mathlib.Algebra.Order.Ring.Cone

Construct ordered rings from rings with a specified positive cone. #

We demonstrate the equivalence between order structures on a ring R and positive cones: subsemirings S of R such that S ∩ -S = 0.

@[deprecated AddSubmonoid.IsPointed (since := "2026-10-28")]
class RingConeClass (S : Type u_2) (R : outParam (Type u_3)) [Ring R] [SetLike S R] extends AddGroupConeClass S R, SubsemiringClass S R :

RingConeClass S R says that S is a type of cones in R.

Instances
    @[deprecated AddSubmonoid.IsPointed (since := "2026-10-28")]
    structure RingCone (R : Type u_2) [Ring R] extends Subsemiring R, AddGroupCone R :
    Type u_2

    A (positive) cone in a ring is a subsemiring that does not contain both a and -a for any nonzero a. This is equivalent to being the set of non-negative elements of some order making the ring into a partially ordered ring.

    Instances For
      @[instance_reducible, deprecated "no replacement" (since := "2026-10-28")]
      instance RingCone.instSetLike (R : Type u_2) [Ring R] :
      Equations
      @[instance_reducible, deprecated "no replacement" (since := "2026-10-28")]
      Equations
      @[deprecated "no replacement" (since := "2026-10-28")]
      @[simp, deprecated "no replacement" (since := "2026-10-28")]
      theorem RingCone.mem_mk {R : Type u_2} [Ring R] {toSubsemiring : Subsemiring R} (eq_zero_of_mem_of_neg_mem : ∀ {a : R}, a ∈ toSubsemiring.carrier → -a ∈ toSubsemiring.carrier → a = 0) {x : R} :
      x ∈ { toSubsemiring := toSubsemiring, eq_zero_of_mem_of_neg_mem' := eq_zero_of_mem_of_neg_mem } ↔ x ∈ toSubsemiring
      @[simp, deprecated "no replacement" (since := "2026-10-28")]
      theorem RingCone.coe_set_mk {R : Type u_2} [Ring R] {toSubsemiring : Subsemiring R} (eq_zero_of_mem_of_neg_mem : ∀ {a : R}, a ∈ toSubsemiring.carrier → -a ∈ toSubsemiring.carrier → a = 0) :
      ↑{ toSubsemiring := toSubsemiring, eq_zero_of_mem_of_neg_mem' := eq_zero_of_mem_of_neg_mem } = ↑toSubsemiring
      @[deprecated Subsemiring.IsPointed.nonneg (since := "2026-10-28")]

      Construct a cone from the set of non-negative elements of a partially ordered ring.

      Equations
      Instances For
        @[simp, deprecated "no replacement" (since := "2026-10-28")]
        @[simp, deprecated "no replacement" (since := "2026-10-28")]
        @[simp, deprecated "no replacement" (since := "2026-10-28")]
        theorem RingCone.mem_nonneg {T : Type u_2} [Ring T] [PartialOrder T] [IsOrderedRing T] {a : T} :
        a ∈ nonneg T ↔ 0 ≤ a
        @[simp, deprecated "no replacement" (since := "2026-10-28")]
        theorem RingCone.coe_nonneg {T : Type u_2} [Ring T] [PartialOrder T] [IsOrderedRing T] :
        ↑(nonneg T) = {x : T | 0 ≤ x}
        @[deprecated Subsemiring.IsSpanning.nonneg (since := "2026-10-28")]
        @[deprecated IsOrderedRing.ofSubsemiring (since := "2026-10-28")]
        theorem IsOrderedRing.mkOfCone {S : Type u_2} {R : Type u_3} [Ring R] [SetLike S R] (C : S) [RingConeClass S R] :

        Construct a partially ordered ring by designating a cone in a ring.