File: Mathlib/Algebra/Order/Monoid/Defs.lean

full_name: OrderedAddCommMonoid
code: /-- An ordered (additive) commutative monoid is a commutative monoid with a partial order such that
addition is monotone. -/
class OrderedAddCommMonoid (α : Type*) extends AddCommMonoid α, PartialOrder α where
  protected add_le_add_left : ∀ a b : α, a ≤ b → ∀ c, c + a ≤ c + b
goal: Type u_3

full_name: OrderedAddCommMonoid.add_le_add_left
code: /-- An ordered (additive) commutative monoid is a commutative monoid with a partial order such that
addition is monotone. -/
class OrderedAddCommMonoid (α : Type*) extends AddCommMonoid α, PartialOrder α where
  protected add_le_add_left : ∀ a b : α, a ≤ b → ∀ c, c + a ≤ c + b
goal: a ≤ b → ∀ (c : α), c + a ≤ c + b

full_name: OrderedCommMonoid
code: /-- An ordered commutative monoid is a commutative monoid with a partial order such that
multiplication is monotone. -/
@[to_additive]
class OrderedCommMonoid (α : Type*) extends CommMonoid α, PartialOrder α where
  protected mul_le_mul_left : ∀ a b : α, a ≤ b → ∀ c, c * a ≤ c * b
goal: Type u_3

full_name: OrderedCommMonoid.mul_le_mul_left
code: /-- An ordered commutative monoid is a commutative monoid with a partial order such that
multiplication is monotone. -/
@[to_additive]
class OrderedCommMonoid (α : Type*) extends CommMonoid α, PartialOrder α where
  protected mul_le_mul_left : ∀ a b : α, a ≤ b → ∀ c, c * a ≤ c * b
goal: a ≤ b → ∀ (c : α), c * a ≤ c * b

full_name: OrderedAddCommMonoid.toCovariantClassLeft
code: @[to_additive]
instance OrderedCommMonoid.toCovariantClassLeft : CovariantClass α α (· * ·) (· ≤ ·) 
goal: CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCommMonoid.toCovariantClassLeft
code: @[to_additive]
instance OrderedCommMonoid.toCovariantClassLeft : CovariantClass α α (· * ·) (· ≤ ·) 
goal: CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCommMonoid.toCovariantClassRight
code: @[to_additive]
theorem OrderedCommMonoid.toCovariantClassRight (M : Type*) [OrderedCommMonoid M] :
    CovariantClass M M (swap (· * ·)) (· ≤ ·) 
goal: CovariantClass M M (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1

full_name: OrderedAddCommMonoid.toCovariantClassRight
code: @[to_additive]
theorem OrderedCommMonoid.toCovariantClassRight (M : Type*) [OrderedCommMonoid M] :
    CovariantClass M M (swap (· * ·)) (· ≤ ·) 
goal: CovariantClass M M (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCancelAddCommMonoid.le_of_add_le_add_left
code: /-- An ordered cancellative additive commutative monoid is a partially ordered commutative additive
monoid in which addition is cancellative and monotone. -/
class OrderedCancelAddCommMonoid (α : Type*) extends OrderedAddCommMonoid α where
  protected le_of_add_le_add_left : ∀ a b c : α, a + b ≤ a + c → b ≤ c
goal: a + b ≤ a + c → b ≤ c

full_name: OrderedCancelAddCommMonoid
code: /-- An ordered cancellative additive commutative monoid is a partially ordered commutative additive
monoid in which addition is cancellative and monotone. -/
class OrderedCancelAddCommMonoid (α : Type*) extends OrderedAddCommMonoid α where
  protected le_of_add_le_add_left : ∀ a b c : α, a + b ≤ a + c → b ≤ c
goal: Type u_3

full_name: OrderedCancelCommMonoid
code: /-- An ordered cancellative commutative monoid is a partially ordered commutative monoid in which
multiplication is cancellative and monotone. -/
@[to_additive OrderedCancelAddCommMonoid]
class OrderedCancelCommMonoid (α : Type*) extends OrderedCommMonoid α where
  protected le_of_mul_le_mul_left : ∀ a b c : α, a * b ≤ a * c → b ≤ c
goal: Type u_3

full_name: OrderedCancelCommMonoid.le_of_mul_le_mul_left
code: /-- An ordered cancellative commutative monoid is a partially ordered commutative monoid in which
multiplication is cancellative and monotone. -/
@[to_additive OrderedCancelAddCommMonoid]
class OrderedCancelCommMonoid (α : Type*) extends OrderedCommMonoid α where
  protected le_of_mul_le_mul_left : ∀ a b c : α, a * b ≤ a * c → b ≤ c
goal: a * b ≤ a * c → b ≤ c

full_name: OrderedCancelCommMonoid.toContravariantClassLeLeft
code: @[to_additive]
instance (priority := 200) OrderedCancelCommMonoid.toContravariantClassLeLeft :
    ContravariantClass α α (· * ·) (· ≤ ·) 
goal: ContravariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCancelAddCommMonoid.toContravariantClassLeLeft
code: @[to_additive]
instance (priority := 200) OrderedCancelCommMonoid.toContravariantClassLeLeft :
    ContravariantClass α α (· * ·) (· ≤ ·) 
goal: ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCancelCommMonoid.toContravariantClassLeft
code: @[to_additive]
instance OrderedCancelCommMonoid.toContravariantClassLeft :
    ContravariantClass α α (· * ·) (· < ·) 
goal: ContravariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1

full_name: OrderedCancelAddCommMonoid.toContravariantClassLeft
code: @[to_additive]
instance OrderedCancelCommMonoid.toContravariantClassLeft :
    ContravariantClass α α (· * ·) (· < ·) 
goal: ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1

full_name: OrderedCancelAddCommMonoid.toContravariantClassRight
code: @[to_additive]
theorem OrderedCancelCommMonoid.toContravariantClassRight :
    ContravariantClass α α (swap (· * ·)) (· < ·) 
goal: ContravariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x < x_1

full_name: OrderedCancelCommMonoid.toContravariantClassRight
code: @[to_additive]
theorem OrderedCancelCommMonoid.toContravariantClassRight :
    ContravariantClass α α (swap (· * ·)) (· < ·) 
goal: ContravariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x < x_1

full_name: OrderedCancelAddCommMonoid.toCancelAddCommMonoid
code: @[to_additive OrderedCancelAddCommMonoid.toCancelAddCommMonoid]
instance (priority := 100) OrderedCancelCommMonoid.toCancelCommMonoid : CancelCommMonoid α 
goal: AddCancelCommMonoid α

full_name: OrderedCancelCommMonoid.toCancelCommMonoid
code: @[to_additive OrderedCancelAddCommMonoid.toCancelAddCommMonoid]
instance (priority := 100) OrderedCancelCommMonoid.toCancelCommMonoid : CancelCommMonoid α 
goal: CancelCommMonoid α

full_name: LinearOrderedAddCommMonoid
code: /-- A linearly ordered additive commutative monoid. -/
class LinearOrderedAddCommMonoid (α : Type*) extends OrderedAddCommMonoid α, LinearOrder α
goal: Type u_3

full_name: LinearOrderedCommMonoid
code: /-- A linearly ordered commutative monoid. -/
@[to_additive]
class LinearOrderedCommMonoid (α : Type*) extends OrderedCommMonoid α, LinearOrder α
goal: Type u_3

full_name: LinearOrderedCancelAddCommMonoid
code: /-- A linearly ordered cancellative additive commutative monoid is an additive commutative monoid
with a decidable linear order in which addition is cancellative and monotone. -/
class LinearOrderedCancelAddCommMonoid (α : Type*) extends OrderedCancelAddCommMonoid α,
    LinearOrderedAddCommMonoid α
goal: Type u_3

full_name: LinearOrderedCancelCommMonoid
code: /-- A linearly ordered cancellative commutative monoid is a commutative monoid with a linear order
in which multiplication is cancellative and monotone. -/
@[to_additive LinearOrderedCancelAddCommMonoid]
class LinearOrderedCancelCommMonoid (α : Type*) extends OrderedCancelCommMonoid α,
    LinearOrderedCommMonoid α
goal: Type u_3

full_name: one_le_mul_self_iff
code: @[to_additive (attr := simp)]
theorem one_le_mul_self_iff : 1 ≤ a * a ↔ 1 ≤ a 
goal: 1 ≤ a * a ↔ 1 ≤ a

full_name: nonneg_add_self_iff
code: @[to_additive (attr := simp)]
theorem one_le_mul_self_iff : 1 ≤ a * a ↔ 1 ≤ a 
goal: 0 ≤ a + a ↔ 0 ≤ a

full_name: one_lt_mul_self_iff
code: @[to_additive (attr := simp)]
theorem one_lt_mul_self_iff : 1 < a * a ↔ 1 < a 
goal: 1 < a * a ↔ 1 < a

full_name: pos_add_self_iff
code: @[to_additive (attr := simp)]
theorem one_lt_mul_self_iff : 1 < a * a ↔ 1 < a 
goal: 0 < a + a ↔ 0 < a

full_name: add_self_nonpos_iff
code: @[to_additive (attr := simp)]
theorem mul_self_le_one_iff : a * a ≤ 1 ↔ a ≤ 1 
goal: a + a ≤ 0 ↔ a ≤ 0

full_name: mul_self_le_one_iff
code: @[to_additive (attr := simp)]
theorem mul_self_le_one_iff : a * a ≤ 1 ↔ a ≤ 1 
goal: a * a ≤ 1 ↔ a ≤ 1

full_name: add_self_neg_iff
code: @[to_additive (attr := simp)]
theorem mul_self_lt_one_iff : a * a < 1 ↔ a < 1 
goal: a + a < 0 ↔ a < 0

full_name: mul_self_lt_one_iff
code: @[to_additive (attr := simp)]
theorem mul_self_lt_one_iff : a * a < 1 ↔ a < 1 
goal: a * a < 1 ↔ a < 1