scilib documentation

algebra.order.monoid.defs

Ordered monoids #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file provides the definitions of ordered monoids.

@[instance]
@[instance]
@[class]
structure ordered_comm_monoid (α : Type u_2) :
Type u_2
  • mul : α α α
  • mul_assoc : (a b c : α), a * b * c = a * (b * c)
  • one : α
  • one_mul : (a : α), 1 * a = a
  • mul_one : (a : α), a * 1 = a
  • npow : α α
  • npow_zero' : ( (x : α), ordered_comm_monoid.npow 0 x = 1) . "try_refl_tac"
  • npow_succ' : ( (n : ) (x : α), ordered_comm_monoid.npow n.succ x = x * ordered_comm_monoid.npow n x) . "try_refl_tac"
  • mul_comm : (a b : α), a * b = b * a
  • le : α α Prop
  • lt : α α Prop
  • le_refl : (a : α), a a
  • le_trans : (a b c : α), a b b c a c
  • lt_iff_le_not_le : ( (a b : α), a < b a b ¬b a) . "order_laws_tac"
  • le_antisymm : (a b : α), a b b a a = b
  • mul_le_mul_left : (a b : α), a b (c : α), c * a c * b

An ordered commutative monoid is a commutative monoid with a partial order such that a ≤ b → c * a ≤ c * b (multiplication is monotone)

Instances of this typeclass
Instances of other typeclasses for ordered_comm_monoid
  • ordered_comm_monoid.has_sizeof_inst
@[instance]
@[class]
structure ordered_add_comm_monoid (α : Type u_2) :
Type u_2
  • add : α α α
  • add_assoc : (a b c : α), a + b + c = a + (b + c)
  • zero : α
  • zero_add : (a : α), 0 + a = a
  • add_zero : (a : α), a + 0 = a
  • nsmul : α α
  • nsmul_zero' : ( (x : α), ordered_add_comm_monoid.nsmul 0 x = 0) . "try_refl_tac"
  • nsmul_succ' : ( (n : ) (x : α), ordered_add_comm_monoid.nsmul n.succ x = x + ordered_add_comm_monoid.nsmul n x) . "try_refl_tac"
  • add_comm : (a b : α), a + b = b + a
  • le : α α Prop
  • lt : α α Prop
  • le_refl : (a : α), a a
  • le_trans : (a b c : α), a b b c a c
  • lt_iff_le_not_le : ( (a b : α), a < b a b ¬b a) . "order_laws_tac"
  • le_antisymm : (a b : α), a b b a a = b
  • add_le_add_left : (a b : α), a b (c : α), c + a c + b

An ordered (additive) commutative monoid is a commutative monoid with a partial order such that a ≤ b → c + a ≤ c + b (addition is monotone)

Instances of this typeclass
Instances of other typeclasses for ordered_add_comm_monoid
  • ordered_add_comm_monoid.has_sizeof_inst
theorem bit0_pos {α : Type u} [ordered_add_comm_monoid α] {a : α} (h : 0 < a) :
0 < bit0 a
@[class]
structure linear_ordered_add_comm_monoid (α : Type u_2) :
Type u_2

A linearly ordered additive commutative monoid.

Instances of this typeclass
Instances of other typeclasses for linear_ordered_add_comm_monoid
  • linear_ordered_add_comm_monoid.has_sizeof_inst
@[class]
structure linear_ordered_comm_monoid (α : Type u_2) :
Type u_2

A linearly ordered commutative monoid.

Instances of this typeclass
Instances of other typeclasses for linear_ordered_comm_monoid
  • linear_ordered_comm_monoid.has_sizeof_inst
@[class]
structure linear_ordered_add_comm_monoid_with_top (α : Type u_2) :
Type u_2

A linearly ordered commutative monoid with an additively absorbing element. Instances should include number systems with an infinite element adjoined.`

Instances of this typeclass
Instances of other typeclasses for linear_ordered_add_comm_monoid_with_top
  • linear_ordered_add_comm_monoid_with_top.has_sizeof_inst
@[simp]
theorem top_add {α : Type u} [linear_ordered_add_comm_monoid_with_top α] (a : α) :
@[simp]
theorem add_top {α : Type u} [linear_ordered_add_comm_monoid_with_top α] (a : α) :