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

full_name: OrderedAddCommGroup
code: /-- An ordered additive commutative group is an additive commutative group
with a partial order in which addition is strictly monotone. -/
class OrderedAddCommGroup (α : Type u) extends AddCommGroup α, PartialOrder α where
  /-- Addition is monotone in an ordered additive commutative group. -/
  protected add_le_add_left : ∀ a b : α, a ≤ b → ∀ c : α, c + a ≤ c + b
goal: Type u

full_name: OrderedAddCommGroup.add_le_add_left
code: /-- An ordered additive commutative group is an additive commutative group
with a partial order in which addition is strictly monotone. -/
class OrderedAddCommGroup (α : Type u) extends AddCommGroup α, PartialOrder α where
  /-- Addition is monotone in an ordered additive commutative group. -/
  protected add_le_add_left : ∀ a b : α, a ≤ b → ∀ c : α, c + a ≤ c + b
goal: a ≤ b → ∀ (c : α), c + a ≤ c + b

full_name: OrderedCommGroup.mul_le_mul_left
code: /-- An ordered commutative group is a commutative group
with a partial order in which multiplication is strictly monotone. -/
class OrderedCommGroup (α : Type u) extends CommGroup α, PartialOrder α where
  /-- Multiplication is monotone in an ordered commutative group. -/
  protected mul_le_mul_left : ∀ a b : α, a ≤ b → ∀ c : α, c * a ≤ c * b
goal: a ≤ b → ∀ (c : α), c * a ≤ c * b

full_name: OrderedCommGroup
code: /-- An ordered commutative group is a commutative group
with a partial order in which multiplication is strictly monotone. -/
class OrderedCommGroup (α : Type u) extends CommGroup α, PartialOrder α where
  /-- Multiplication is monotone in an ordered commutative group. -/
  protected mul_le_mul_left : ∀ a b : α, a ≤ b → ∀ c : α, c * a ≤ c * b
goal: Type u

full_name: OrderedAddCommGroup.to_covariantClass_left_le
code: @[to_additive]
instance OrderedCommGroup.to_covariantClass_left_le (α : Type u) [OrderedCommGroup α] :
    CovariantClass α α (· * ·) (· ≤ ·) 
goal: CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCommGroup.to_covariantClass_left_le
code: @[to_additive]
instance OrderedCommGroup.to_covariantClass_left_le (α : Type u) [OrderedCommGroup α] :
    CovariantClass α α (· * ·) (· ≤ ·) 
goal: CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCommGroup.toOrderedCancelCommMonoid
code: @[to_additive OrderedAddCommGroup.toOrderedCancelAddCommMonoid]
instance (priority := 100) OrderedCommGroup.toOrderedCancelCommMonoid [OrderedCommGroup α] :
    OrderedCancelCommMonoid α 
goal: OrderedCancelCommMonoid α

full_name: OrderedAddCommGroup.toOrderedCancelAddCommMonoid
code: @[to_additive OrderedAddCommGroup.toOrderedCancelAddCommMonoid]
instance (priority := 100) OrderedCommGroup.toOrderedCancelCommMonoid [OrderedCommGroup α] :
    OrderedCancelCommMonoid α 
goal: OrderedCancelAddCommMonoid α

full_name: OrderedAddCommGroup.to_contravariantClass_left_le
code: /-- A choice-free shortcut instance. -/
@[to_additive "A choice-free shortcut instance."]
theorem OrderedCommGroup.to_contravariantClass_left_le (α : Type u) [OrderedCommGroup α] :
    ContravariantClass α α (· * ·) (· ≤ ·) 
goal: ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCommGroup.to_contravariantClass_left_le
code: /-- A choice-free shortcut instance. -/
@[to_additive "A choice-free shortcut instance."]
theorem OrderedCommGroup.to_contravariantClass_left_le (α : Type u) [OrderedCommGroup α] :
    ContravariantClass α α (· * ·) (· ≤ ·) 
goal: ContravariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1

full_name: OrderedAddCommGroup.to_contravariantClass_right_le
code: /-- A choice-free shortcut instance. -/
@[to_additive "A choice-free shortcut instance."]
theorem OrderedCommGroup.to_contravariantClass_right_le (α : Type u) [OrderedCommGroup α] :
    ContravariantClass α α (swap (· * ·)) (· ≤ ·) 
goal: ContravariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1

full_name: OrderedCommGroup.to_contravariantClass_right_le
code: /-- A choice-free shortcut instance. -/
@[to_additive "A choice-free shortcut instance."]
theorem OrderedCommGroup.to_contravariantClass_right_le (α : Type u) [OrderedCommGroup α] :
    ContravariantClass α α (swap (· * ·)) (· ≤ ·) 
goal: ContravariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1

full_name: LinearOrderedAddCommGroup
code: /-- A linearly ordered additive commutative group is an
additive commutative group with a linear order in which
addition is monotone. -/
class LinearOrderedAddCommGroup (α : Type u) extends OrderedAddCommGroup α, LinearOrder α
goal: Type u

full_name: LinearOrderedCommGroup
code: /-- A linearly ordered commutative group is a
commutative group with a linear order in which
multiplication is monotone. -/
@[to_additive]
class LinearOrderedCommGroup (α : Type u) extends OrderedCommGroup α, LinearOrder α
goal: Type u

full_name: LinearOrderedCommGroup.mul_lt_mul_left'
code: @[to_additive LinearOrderedAddCommGroup.add_lt_add_left]
theorem LinearOrderedCommGroup.mul_lt_mul_left' (a b : α) (h : a < b) (c : α) : c * a < c * b 
goal: c * a < c * b

full_name: LinearOrderedAddCommGroup.add_lt_add_left
code: @[to_additive LinearOrderedAddCommGroup.add_lt_add_left]
theorem LinearOrderedCommGroup.mul_lt_mul_left' (a b : α) (h : a < b) (c : α) : c * a < c * b 
goal: c + a < c + b

full_name: eq_zero_of_neg_eq
code: @[to_additive eq_zero_of_neg_eq]
theorem eq_one_of_inv_eq' (h : a⁻¹ = a) : a = 1 
goal: a = 0

full_name: eq_one_of_inv_eq'
code: @[to_additive eq_zero_of_neg_eq]
theorem eq_one_of_inv_eq' (h : a⁻¹ = a) : a = 1 
goal: a = 1

full_name: exists_one_lt'
code: @[to_additive exists_zero_lt]
theorem exists_one_lt' [Nontrivial α] : ∃ a : α, 1 < a 
goal: ∃ a, 1 < a

full_name: exists_zero_lt
code: @[to_additive exists_zero_lt]
theorem exists_one_lt' [Nontrivial α] : ∃ a : α, 1 < a 
goal: ∃ a, 0 < a

full_name: LinearOrderedCommGroup.to_noMaxOrder
code: @[to_additive]
instance (priority := 100) LinearOrderedCommGroup.to_noMaxOrder [Nontrivial α] : NoMaxOrder α 
goal: NoMaxOrder α

full_name: LinearOrderedAddCommGroup.to_noMaxOrder
code: @[to_additive]
instance (priority := 100) LinearOrderedCommGroup.to_noMaxOrder [Nontrivial α] : NoMaxOrder α 
goal: NoMaxOrder α

full_name: LinearOrderedCommGroup.to_noMinOrder
code: @[to_additive]
instance (priority := 100) LinearOrderedCommGroup.to_noMinOrder [Nontrivial α] : NoMinOrder α 
goal: NoMinOrder α

full_name: LinearOrderedAddCommGroup.to_noMinOrder
code: @[to_additive]
instance (priority := 100) LinearOrderedCommGroup.to_noMinOrder [Nontrivial α] : NoMinOrder α 
goal: NoMinOrder α

full_name: LinearOrderedAddCommGroup.toLinearOrderedAddCancelCommMonoid
code: @[to_additive]
instance (priority := 100) LinearOrderedCommGroup.toLinearOrderedCancelCommMonoid
    [LinearOrderedCommGroup α] : LinearOrderedCancelCommMonoid α 
goal: LinearOrderedCancelAddCommMonoid α

full_name: LinearOrderedCommGroup.toLinearOrderedCancelCommMonoid
code: @[to_additive]
instance (priority := 100) LinearOrderedCommGroup.toLinearOrderedCancelCommMonoid
    [LinearOrderedCommGroup α] : LinearOrderedCancelCommMonoid α 
goal: LinearOrderedCancelCommMonoid α

full_name: inv_le_self_iff
code: @[to_additive (attr := simp)]
theorem inv_le_self_iff : a⁻¹ ≤ a ↔ 1 ≤ a 
goal: a⁻¹ ≤ a ↔ 1 ≤ a

full_name: neg_le_self_iff
code: @[to_additive (attr := simp)]
theorem inv_le_self_iff : a⁻¹ ≤ a ↔ 1 ≤ a 
goal: -a ≤ a ↔ 0 ≤ a

full_name: inv_lt_self_iff
code: @[to_additive (attr := simp)]
theorem inv_lt_self_iff : a⁻¹ < a ↔ 1 < a 
goal: a⁻¹ < a ↔ 1 < a

full_name: neg_lt_self_iff
code: @[to_additive (attr := simp)]
theorem inv_lt_self_iff : a⁻¹ < a ↔ 1 < a 
goal: -a < a ↔ 0 < a

full_name: le_neg_self_iff
code: @[to_additive (attr := simp)]
theorem le_inv_self_iff : a ≤ a⁻¹ ↔ a ≤ 1 
goal: a ≤ -a ↔ a ≤ 0

full_name: le_inv_self_iff
code: @[to_additive (attr := simp)]
theorem le_inv_self_iff : a ≤ a⁻¹ ↔ a ≤ 1 
goal: a ≤ a⁻¹ ↔ a ≤ 1

full_name: lt_inv_self_iff
code: @[to_additive (attr := simp)]
theorem lt_inv_self_iff : a < a⁻¹ ↔ a < 1 
goal: a < a⁻¹ ↔ a < 1

full_name: lt_neg_self_iff
code: @[to_additive (attr := simp)]
theorem lt_inv_self_iff : a < a⁻¹ ↔ a < 1 
goal: a < -a ↔ a < 0

full_name: inv_le_inv'
code: @[to_additive (attr := gcongr) neg_le_neg]
theorem inv_le_inv' : a ≤ b → b⁻¹ ≤ a⁻¹ 
goal: a ≤ b → b⁻¹ ≤ a⁻¹

full_name: neg_le_neg
code: @[to_additive (attr := gcongr) neg_le_neg]
theorem inv_le_inv' : a ≤ b → b⁻¹ ≤ a⁻¹ 
goal: a ≤ b → -b ≤ -a

full_name: neg_lt_neg
code: @[to_additive (attr := gcongr) neg_lt_neg]
theorem inv_lt_inv' : a < b → b⁻¹ < a⁻¹ 
goal: a < b → -b < -a

full_name: inv_lt_inv'
code: @[to_additive (attr := gcongr) neg_lt_neg]
theorem inv_lt_inv' : a < b → b⁻¹ < a⁻¹ 
goal: a < b → b⁻¹ < a⁻¹

full_name: inv_lt_one_of_one_lt
code: @[to_additive]
theorem inv_lt_one_of_one_lt : 1 < a → a⁻¹ < 1 
goal: 1 < a → a⁻¹ < 1

full_name: neg_neg_of_pos
code: @[to_additive]
theorem inv_lt_one_of_one_lt : 1 < a → a⁻¹ < 1 
goal: 0 < a → -a < 0

full_name: neg_nonpos_of_nonneg
code: @[to_additive]
theorem inv_le_one_of_one_le : 1 ≤ a → a⁻¹ ≤ 1 
goal: 0 ≤ a → -a ≤ 0

full_name: inv_le_one_of_one_le
code: @[to_additive]
theorem inv_le_one_of_one_le : 1 ≤ a → a⁻¹ ≤ 1 
goal: 1 ≤ a → a⁻¹ ≤ 1

full_name: one_le_inv_of_le_one
code: @[to_additive neg_nonneg_of_nonpos]
theorem one_le_inv_of_le_one : a ≤ 1 → 1 ≤ a⁻¹ 
goal: a ≤ 1 → 1 ≤ a⁻¹

full_name: neg_nonneg_of_nonpos
code: @[to_additive neg_nonneg_of_nonpos]
theorem one_le_inv_of_le_one : a ≤ 1 → 1 ≤ a⁻¹ 
goal: a ≤ 0 → 0 ≤ -a