Documentation

Mathlib.Algebra.Order.Ring.Ordering.Basic

Ring orderings #

We prove basic properties of (pre)orderings on rings and their supports.

References #

Preorderings #

theorem RingPreordering.toSubsemiring_le_toSubsemiring {R : Type u_1} [CommRing R] {P₁ P₂ : RingPreordering R} :
P₁ P₂ P₁ P₂
theorem RingPreordering.toSubsemiring_lt_toSubsemiring {R : Type u_1} [CommRing R] {P₁ P₂ : RingPreordering R} :
P₁ < P₂ P₁ < P₂
theorem RingPreordering.GCongr.toSubsemiring_le_toSubsemiring {R : Type u_1} [CommRing R] {P₁ P₂ : RingPreordering R} :
P₁ P₂P₁ P₂

Alias of the reverse direction of RingPreordering.toSubsemiring_le_toSubsemiring.

theorem RingPreordering.GCongr.toSubsemiring_lt_toSubsemiring {R : Type u_1} [CommRing R] {P₁ P₂ : RingPreordering R} :
P₁ < P₂P₁ < P₂

Alias of the reverse direction of RingPreordering.toSubsemiring_lt_toSubsemiring.

theorem RingPreordering.unitsInv_mem {R : Type u_1} [CommRing R] {P : RingPreordering R} {a : Rˣ} (ha : a P) :
a⁻¹ P
theorem RingPreordering.inv_mem {F : Type u_2} [Field F] {P : RingPreordering F} {a : F} (ha : a P) :
theorem RingPreordering.mem_of_isSumSq {R : Type u_1} [CommRing R] {P : RingPreordering R} {x : R} (hx : IsSumSq x) :
x P
def RingPreordering.mk' {R : Type u_3} [CommRing R] (P : Set R) (add : ∀ {x y : R}, x Py Px + y P) (mul : ∀ {x y : R}, x Py Px * y P) (sq : ∀ (x : R), x * x P) (neg_one : -1P) :

Construct a preordering from a minimal set of axioms.

Equations
  • RingPreordering.mk' P add mul sq neg_one = { carrier := P, mul_mem' := , one_mem' := , add_mem' := , zero_mem' := , mem_of_isSquare' := , neg_one_notMem' := }
Instances For
    @[simp]
    theorem RingPreordering.mem_mk' {R : Type u_2} [CommRing R] {P : Set R} {add : ∀ {x y : R}, x Py Px + y P} {mul : ∀ {x y : R}, x Py Px * y P} {sq : ∀ (x : R), x * x P} {neg_one : -1P} {x : R} :
    x mk' P add mul sq neg_one x P
    @[simp]
    theorem RingPreordering.coe_mk' {R : Type u_2} [CommRing R] {P : Set R} {add : ∀ {x y : R}, x Py Px + y P} {mul : ∀ {x y : R}, x Py Px * y P} {sq : ∀ (x : R), x * x P} {neg_one : -1P} :
    (mk' P add mul sq neg_one) = P

    Supports #

    theorem RingPreordering.IsOrdering.mk' {R : Type u_1} [CommRing R] (P : RingPreordering R) [HasMemOrNegMem P] (h : ∀ {x y : R}, x * y P.supportx P.support y P.support) :

    Constructor for IsOrdering that doesn't require ne_top'.

    theorem RingPreordering.HasIdealSupport.smul_mem {R : Type u_1} [CommRing R] {P : RingPreordering R} [P.HasIdealSupport] (x : R) {a : R} (h₁a : a P) (h₂a : -a P) :
    x * a P
    theorem RingPreordering.HasIdealSupport.neg_smul_mem {R : Type u_1} [CommRing R] {P : RingPreordering R} [P.HasIdealSupport] (x : R) {a : R} (h₁a : a P) (h₂a : -a P) :
    -(x * a) P
    theorem RingPreordering.eq_zero_of_mem_of_neg_mem {F : Type u_2} [Field F] {P : RingPreordering F} {x : F} (h : x P) (h2 : -x P) :
    x = 0
    theorem RingPreordering.isOrdering_iff {R : Type u_1} [CommRing R] {P : RingPreordering R} :
    P.IsOrdering ∀ (a b : R), -(a * b) Pa P b P