Documentation

Mathlib.Algebra.Order.Monoid.Defs

Ordered monoids #

This file provides the definitions of ordered monoids.

class IsOrderedAddMonoid (α : Type u_2) [AddCommMonoid α] [Preorder α] :

An ordered (additive) monoid is a monoid with a preorder such that addition is monotone.

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

    An ordered monoid is a monoid with a preorder such that multiplication is monotone.

    • mul_le_mul_left (a b : α) : a ≤ b → ∀ (c : α), a * c ≤ b * c
    • mul_le_mul_right (a b : α) : a ≤ b → ∀ (c : α), c * a ≤ c * b
    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 α] [Preorder α] extends IsOrderedMonoid α :

        An ordered cancellative monoid is an ordered monoid in which multiplication is cancellative and monotone.

        Instances
          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 : α} :
          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