Ordered monoids #
This file provides the definitions of ordered monoids.
An ordered (additive) monoid is a monoid with a preorder such that addition is monotone.
Instances
@[instance 900]
instance
IsOrderedMonoid.toMulLeftMono
{α : Type u_1}
[CommMonoid α]
[Preorder α]
[IsOrderedMonoid α]
:
@[instance 900]
instance
IsOrderedAddMonoid.toAddLeftMono
{α : Type u_1}
[AddCommMonoid α]
[Preorder α]
[IsOrderedAddMonoid α]
:
@[instance 900]
instance
IsOrderedMonoid.toMulRightMono
{α : Type u_1}
[CommMonoid α]
[Preorder α]
[IsOrderedMonoid α]
:
@[instance 900]
instance
IsOrderedAddMonoid.toAddRightMono
{α : Type u_1}
[AddCommMonoid α]
[Preorder α]
[IsOrderedAddMonoid α]
:
class
IsOrderedCancelAddMonoid
(α : Type u_2)
[AddCommMonoid α]
[Preorder α]
extends IsOrderedAddMonoid α :
An ordered cancellative additive monoid is an ordered additive monoid in which addition is cancellative and monotone.
Instances
An ordered cancellative monoid is an ordered monoid in which multiplication is cancellative and monotone.
Instances
instance
instOrderedAddOfIsOrderedCancelAddMonoid
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[IsOrderedCancelAddMonoid α]
:
@[instance 200]
instance
IsOrderedCancelMonoid.toMulLeftReflectLE
{α : Type u_2}
[CommMonoid α]
[Preorder α]
[IsOrderedCancelMonoid α]
:
@[instance 200]
instance
IsOrderedCancelAddMonoid.toAddLeftReflectLE
{α : Type u_2}
[AddCommMonoid α]
[Preorder α]
[IsOrderedCancelAddMonoid α]
:
@[instance 900]
instance
IsOrderedCancelMonoid.toMulLeftReflectLT
{α : Type u_1}
[CommMonoid α]
[PartialOrder α]
[IsOrderedCancelMonoid α]
:
@[instance 900]
instance
IsOrderedCancelAddMonoid.toAddLeftReflectLT
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[IsOrderedCancelAddMonoid α]
:
theorem
IsOrderedCancelMonoid.toMulRightReflectLT
{α : Type u_1}
[CommMonoid α]
[PartialOrder α]
[IsOrderedCancelMonoid α]
:
theorem
IsOrderedCancelAddMonoid.toAddRightReflectLT
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[IsOrderedCancelAddMonoid α]
:
@[instance 100]
instance
IsOrderedCancelMonoid.toIsCancelMul
{α : Type u_1}
[CommMonoid α]
[PartialOrder α]
[IsOrderedCancelMonoid α]
:
@[instance 100]
instance
IsOrderedCancelAddMonoid.toIsCancelAdd
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[IsOrderedCancelAddMonoid α]
:
theorem
IsOrderedCancelMonoid.of_mul_lt_mul_left
{α : Type u_2}
[CommMonoid α]
[LinearOrder α]
(hmul : ∀ (a b c : α), b < c → a * b < a * c)
:
theorem
IsOrderedCancelAddMonoid.of_add_lt_add_left
{α : Type u_2}
[AddCommMonoid α]
[LinearOrder α]
(hadd : ∀ (a b c : α), b < c → a + b < a + c)
:
@[simp]
theorem
one_le_mul_self_iff
{α : Type u_1}
[CommMonoid α]
[LinearOrder α]
[IsOrderedMonoid α]
{a : α}
:
@[simp]
theorem
nonneg_add_self_iff
{α : Type u_1}
[AddCommMonoid α]
[LinearOrder α]
[IsOrderedAddMonoid α]
{a : α}
:
@[simp]
theorem
one_lt_mul_self_iff
{α : Type u_1}
[CommMonoid α]
[LinearOrder α]
[IsOrderedMonoid α]
{a : α}
:
@[simp]
theorem
pos_add_self_iff
{α : Type u_1}
[AddCommMonoid α]
[LinearOrder α]
[IsOrderedAddMonoid α]
{a : α}
:
@[simp]
theorem
mul_self_le_one_iff
{α : Type u_1}
[CommMonoid α]
[LinearOrder α]
[IsOrderedMonoid α]
{a : α}
:
@[simp]
theorem
add_self_nonpos_iff
{α : Type u_1}
[AddCommMonoid α]
[LinearOrder α]
[IsOrderedAddMonoid α]
{a : α}
:
@[simp]
theorem
mul_self_lt_one_iff
{α : Type u_1}
[CommMonoid α]
[LinearOrder α]
[IsOrderedMonoid α]
{a : α}
:
@[simp]
theorem
add_self_neg_iff
{α : Type u_1}
[AddCommMonoid α]
[LinearOrder α]
[IsOrderedAddMonoid α]
{a : α}
: