Documentation

Mathlib.Algebra.Order.Monoid.Defs

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.

  • add_le_add_left (a b : α) : a b∀ (c : α), c + a c + b
  • add_le_add_right (a b : α) : a b∀ (c : α), a + c b + c
Instances
class IsOrderedMonoid (α : Type u_2) [CommMonoid α] [PartialOrder α] :

An ordered monoid is a monoid with a partial order such that multiplication is monotone.

  • mul_le_mul_left (a b : α) : a b∀ (c : α), c * a c * b
  • mul_le_mul_right (a b : α) : a b∀ (c : α), a * c b * c
Instances
@[instance 900]
@[instance 900]

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
@[deprecated "Use `[AddCommMonoid α] [PartialOrder α] [IsOrderedAddMonoid α]` instead." (since := "2025-04-10")]
structure OrderedAddCommMonoid (α : Type u_2) extends AddCommMonoid α, PartialOrder α :
Type u_2

An ordered (additive) commutative monoid is a commutative monoid with a partial order such that addition is monotone.

@[deprecated "Use `[CommMonoid α] [PartialOrder α] [IsOrderedMonoid α]` instead." (since := "2025-04-10")]
structure OrderedCommMonoid (α : Type u_2) extends CommMonoid α, PartialOrder α :
Type u_2

An ordered commutative monoid is a commutative monoid with a partial order such that multiplication is monotone.

@[deprecated "Use `[AddCommMonoid α] [PartialOrder α] [IsOrderedCancelAddMonoid α]` instead." (since := "2025-04-10")]
structure OrderedCancelAddCommMonoid (α : Type u_2) extends OrderedAddCommMonoid α :
Type u_2

An ordered cancellative additive commutative monoid is a partially ordered commutative additive monoid in which addition is cancellative and monotone.

@[deprecated "Use `[CommMonoid α] [PartialOrder α] [IsOrderedCancelMonoid α]` instead." (since := "2025-04-10")]
structure OrderedCancelCommMonoid (α : Type u_2) extends OrderedCommMonoid α :
Type u_2

An ordered cancellative commutative monoid is a partially ordered commutative monoid in which multiplication is cancellative and monotone.

@[deprecated "Use `[AddCommMonoid α] [LinearOrder α] [IsOrderedAddMonoid α]` instead." (since := "2025-04-10")]
structure LinearOrderedAddCommMonoid (α : Type u_2) extends OrderedAddCommMonoid α, LinearOrder α :
Type u_2

A linearly ordered additive commutative monoid.

@[deprecated "Use `[CommMonoid α] [LinearOrder α] [IsOrderedMonoid α]` instead." (since := "2025-04-10")]
structure LinearOrderedCommMonoid (α : Type u_2) extends OrderedCommMonoid α, LinearOrder α :
Type u_2

A linearly ordered commutative monoid.

@[deprecated "Use `[AddCommMonoid α] [LinearOrder α] [IsOrderedCancelAddMonoid α]` instead." (since := "2025-04-10")]

A linearly ordered cancellative additive commutative monoid is an additive commutative monoid with a decidable linear order in which addition is cancellative and monotone.

@[deprecated "Use `[CommMonoid α] [LinearOrder α] [IsOrderedCancelMonoid α]` instead." (since := "2025-04-10")]

A linearly ordered cancellative commutative monoid is a commutative monoid with a linear order in which multiplication is cancellative and monotone.

@[simp]
theorem one_le_mul_self_iff {α : Type u_1} [CommMonoid α] [LinearOrder α] [IsOrderedMonoid α] {a : α} :
1 a * a 1 a
@[simp]
theorem nonneg_add_self_iff {α : Type u_1} [AddCommMonoid α] [LinearOrder α] [IsOrderedAddMonoid α] {a : α} :
0 a + a 0 a
@[simp]
theorem one_lt_mul_self_iff {α : Type u_1} [CommMonoid α] [LinearOrder α] [IsOrderedMonoid α] {a : α} :
1 < a * a 1 < a
@[simp]
theorem pos_add_self_iff {α : Type u_1} [AddCommMonoid α] [LinearOrder α] [IsOrderedAddMonoid α] {a : α} :
0 < a + a 0 < a
@[simp]
theorem mul_self_le_one_iff {α : Type u_1} [CommMonoid α] [LinearOrder α] [IsOrderedMonoid α] {a : α} :
a * a 1 a 1
@[simp]
theorem add_self_nonpos_iff {α : Type u_1} [AddCommMonoid α] [LinearOrder α] [IsOrderedAddMonoid α] {a : α} :
a + a 0 a 0
@[simp]
theorem mul_self_lt_one_iff {α : Type u_1} [CommMonoid α] [LinearOrder α] [IsOrderedMonoid α] {a : α} :
a * a < 1 a < 1
@[simp]
theorem add_self_neg_iff {α : Type u_1} [AddCommMonoid α] [LinearOrder α] [IsOrderedAddMonoid α] {a : α} :
a + a < 0 a < 0