Ordered monoids #
This file provides the definitions of ordered monoids.
An ordered (additive) monoid is a monoid with a partial order such that addition is monotone.
Instances
An ordered monoid is a monoid with a partial order such that multiplication is monotone.
Instances
@[instance 900]
instance
IsOrderedMonoid.toMulLeftMono
{α : Type u_1}
[CommMonoid α]
[PartialOrder α]
[IsOrderedMonoid α]
:
@[instance 900]
instance
IsOrderedAddMonoid.toAddLeftMono
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[IsOrderedAddMonoid α]
:
@[instance 900]
instance
IsOrderedMonoid.toMulRightMono
{α : Type u_1}
[CommMonoid α]
[PartialOrder α]
[IsOrderedMonoid α]
:
@[instance 900]
instance
IsOrderedAddMonoid.toAddRightMono
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[IsOrderedAddMonoid α]
:
class
IsOrderedCancelAddMonoid
(α : Type u_2)
[AddCommMonoid α]
[PartialOrder α]
extends IsOrderedAddMonoid α :
An ordered cancellative additive monoid is an ordered additive monoid in which addition is cancellative and monotone.
Instances
class
IsOrderedCancelMonoid
(α : Type u_2)
[CommMonoid α]
[PartialOrder α]
extends IsOrderedMonoid α :
An ordered cancellative monoid is an ordered monoid in which multiplication is cancellative and monotone.
Instances
@[instance 200]
instance
IsOrderedCancelMonoid.toMulLeftReflectLE
{α : Type u_1}
[CommMonoid α]
[PartialOrder α]
[IsOrderedCancelMonoid α]
:
@[instance 200]
instance
IsOrderedCancelAddMonoid.toAddLeftReflectLE
{α : Type u_1}
[AddCommMonoid α]
[PartialOrder α]
[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 : α}
: