Positive cones #
A positive cone in an (additive) group G is a submonoid C with zero support
(i.e. C ∩ -C = 0).
A positive cone in a ring R is a subsemiring C with zero (additive) support.
We re-use the predicate from the group case.
Positive cones correspond to ordered group structures: see Algebra.Order.Cone.Order.
Main definitions #
AddSubmonoid.IsCone: typeclass for positive cones.
Typeclass for submonoids with zero support.
Instances
theorem
AddSubmonoid.eq_zero_of_mem_of_neg_mem₂
{G : Type u_1}
{inst✝ : AddGroup G}
{M : AddSubmonoid G}
[self : M.IsCone]
{x : G}
(hx₁ : x ∈ M)
(hx₂ : -x ∈ M)
:
@[simp]
@[simp]
theorem
AddSubmonoid.supportAddSubgroup_eq_bot
{G : Type u_1}
[AddGroup G]
(M : AddSubmonoid G)
[M.IsCone]
:
instance
Submonoid.instIsMulConeOneLE
(G : Type u_1)
[CommGroup G]
[PartialOrder G]
[IsOrderedMonoid G]
:
instance
AddSubmonoid.instIsAddConeNonneg
(G : Type u_1)
[AddCommGroup G]
[PartialOrder G]
[IsOrderedAddMonoid G]
:
instance
Submonoid.instHasMemOrInvMemOneLE
(G : Type u_1)
[CommGroup G]
[LinearOrder G]
[IsOrderedMonoid G]
:
(oneLE G).HasMemOrInvMem
instance
AddSubmonoid.instHasMemOrNegMemNonneg
(G : Type u_1)
[AddCommGroup G]
[LinearOrder G]
[IsOrderedAddMonoid G]
:
(nonneg G).HasMemOrNegMem
instance
AddSubmonoid.instHasIdealSupportOfIsCone
{R : Type u_1}
[Ring R]
(M : AddSubmonoid R)
[M.IsCone]
:
@[simp]
theorem
AddSubmonoid.IsCone.of_support_eq_bot
{R : Type u_1}
[Ring R]
(M : AddSubmonoid R)
[M.HasIdealSupport]
(h : M.support = ⊥)
:
M.IsCone
theorem
AddSubmonoid.IsCone.maximal
{R : Type u_1}
[Ring R]
(M : AddSubmonoid R)
[M.IsCone]
[M.HasMemOrNegMem]
:
theorem
Subsemiring.IsCone.neg_one_notMem
{R : Type u_1}
[Ring R]
(C : Subsemiring R)
[Nontrivial R]
[C.toAddSubmonoid.IsCone]
:
-1 ∉ C
instance
Subsemiring.instHasMemOrNegMemToAddSubmonoidNonneg
{R : Type u_1}
[Ring R]
[LinearOrder R]
[IsOrderedRing R]
:
instance
Subsemiring.instIsConeToAddSubmonoidNonneg
{R : Type u_1}
[Ring R]
[PartialOrder R]
[IsOrderedRing R]
: