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}
:
theorem
RingPreordering.toSubsemiring_lt_toSubsemiring
{R : Type u_1}
[CommRing R]
{P₁ P₂ : RingPreordering R}
:
theorem
RingPreordering.GCongr.toSubsemiring_le_toSubsemiring
{R : Type u_1}
[CommRing R]
{P₁ P₂ : RingPreordering R}
:
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}
:
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)
:
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)
:
def
RingPreordering.mk'
{R : Type u_3}
[CommRing R]
(P : Set R)
(add : ∀ {x y : R}, x ∈ P → y ∈ P → x + y ∈ P)
(mul : ∀ {x y : R}, x ∈ P → y ∈ P → x * y ∈ P)
(sq : ∀ (x : R), x * x ∈ P)
(neg_one : -1 ∉ P)
:
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
Supports #
theorem
RingPreordering.one_notMem_supportAddSubgroup
{R : Type u_1}
[CommRing R]
(P : RingPreordering R)
:
1 ∉ P.supportAddSubgroup
theorem
RingPreordering.one_notMem_support
{R : Type u_1}
[CommRing R]
(P : RingPreordering R)
[P.HasIdealSupport]
:
1 ∉ P.support
theorem
RingPreordering.supportAddSubgroup_ne_top
{R : Type u_1}
[CommRing R]
(P : RingPreordering R)
:
theorem
RingPreordering.support_ne_top
{R : Type u_1}
[CommRing R]
(P : RingPreordering R)
[P.HasIdealSupport]
:
theorem
RingPreordering.IsOrdering.mk'
{R : Type u_1}
[CommRing R]
(P : RingPreordering R)
[HasMemOrNegMem P]
(h : ∀ {x y : R}, x * y ∈ P.support → x ∈ 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)
:
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)
:
theorem
RingPreordering.hasIdealSupport_of_isUnit_two
{R : Type u_1}
[CommRing R]
{P : RingPreordering R}
(h : IsUnit 2)
:
instance
RingPreordering.instHasIdealSupportOfFactIsUnitOfNat
{R : Type u_1}
[CommRing R]
{P : RingPreordering R}
[h : Fact (IsUnit 2)]
:
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)
:
theorem
RingPreordering.supportAddSubgroup_eq_bot
{F : Type u_2}
[Field F]
(P : RingPreordering F)
:
@[simp]