ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AddLECancellable.tsub_lt_tsub_iff_left_of_le_of_le
protected theorem tsub_lt_tsub_iff_left_of_le_of_le [ContravariantClass α α (· + ·) (· < ·)]
    (hb : AddLECancellable b) (hab : AddLECancellable (a - b)) (h₁ : b ≤ a) (h₂ : c ≤ a) :
    a - b < a - c ↔ c < b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] (hb : AddLECancellable b) (hab : AddLECancellable (a - b)) (h₁ : b ≤ a) (h₂ : c ≤ a)
Goal: a - b < a - c ↔ c < b
-- AddLECancellable.add_tsub_tsub_cancel
@[simp]
protected theorem add_tsub_tsub_cancel (hac : AddLECancellable (a - c)) (h : c ≤ a) :
    a + b - (a - c) = b + c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} (hac : AddLECancellable (a - c)) (h : c ≤ a)
Goal: a + b - (a - c) = b + c
-- AddLECancellable.tsub_tsub_cancel_of_le
protected theorem tsub_tsub_cancel_of_le (hba : AddLECancellable (b - a)) (h : a ≤ b) :
    b - (b - a) = a 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b : α} (hba : AddLECancellable (b - a)) (h : a ≤ b)
Goal: b - (b - a) = a
-- AddLECancellable.tsub_tsub_tsub_cancel_left
protected theorem tsub_tsub_tsub_cancel_left (hab : AddLECancellable (a - b)) (h : b ≤ a) :
    a - c - (a - b) = b - c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} (hab : AddLECancellable (a - b)) (h : b ≤ a)
Goal: a - c - (a - b) = b - c
-- eq_tsub_iff_add_eq_of_le
theorem eq_tsub_iff_add_eq_of_le (h : c ≤ b) : a = b - c ↔ a + c = b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ b)
Goal: a = b - c ↔ a + c = b
-- tsub_eq_iff_eq_add_of_le
theorem tsub_eq_iff_eq_add_of_le (h : b ≤ a) : a - b = c ↔ a = c + b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : b ≤ a)
Goal: a - b = c ↔ a = c + b
-- add_tsub_assoc_of_le
theorem add_tsub_assoc_of_le (h : c ≤ b) (a : α) : a + b - c = a + (b - c) 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ b) (a : α)
Goal: a + b - c = a + (b - c)
-- tsub_add_eq_add_tsub
theorem tsub_add_eq_add_tsub (h : b ≤ a) : a - b + c = a + c - b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : b ≤ a)
Goal: a - b + c = a + c - b
-- tsub_tsub_assoc
theorem tsub_tsub_assoc (h₁ : b ≤ a) (h₂ : c ≤ b) : a - (b - c) = a - b + c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h₁ : b ≤ a) (h₂ : c ≤ b)
Goal: a - (b - c) = a - b + c
-- tsub_add_tsub_comm
theorem tsub_add_tsub_comm (hba : b ≤ a) (hdc : d ≤ c) : a - b + (c - d) = a + c - (b + d) 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c d : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (hba : b ≤ a) (hdc : d ≤ c)
Goal: a - b + (c - d) = a + c - (b + d)
-- le_tsub_iff_left
theorem le_tsub_iff_left (h : a ≤ c) : b ≤ c - a ↔ a + b ≤ c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : a ≤ c)
Goal: b ≤ c - a ↔ a + b ≤ c
-- le_tsub_iff_right
theorem le_tsub_iff_right (h : a ≤ c) : b ≤ c - a ↔ b + a ≤ c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : a ≤ c)
Goal: b ≤ c - a ↔ b + a ≤ c
-- tsub_lt_iff_left
theorem tsub_lt_iff_left (hbc : b ≤ a) : a - b < c ↔ a < b + c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (hbc : b ≤ a)
Goal: a - b < c ↔ a < b + c
-- tsub_lt_iff_right
theorem tsub_lt_iff_right (hbc : b ≤ a) : a - b < c ↔ a < c + b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (hbc : b ≤ a)
Goal: a - b < c ↔ a < c + b
-- tsub_lt_iff_tsub_lt
theorem tsub_lt_iff_tsub_lt (h₁ : b ≤ a) (h₂ : c ≤ a) : a - b < c ↔ a - c < b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h₁ : b ≤ a) (h₂ : c ≤ a)
Goal: a - b < c ↔ a - c < b
-- le_tsub_iff_le_tsub
theorem le_tsub_iff_le_tsub (h₁ : a ≤ b) (h₂ : c ≤ b) : a ≤ b - c ↔ c ≤ b - a 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h₁ : a ≤ b) (h₂ : c ≤ b)
Goal: a ≤ b - c ↔ c ≤ b - a
-- lt_tsub_iff_right_of_le
theorem lt_tsub_iff_right_of_le (h : c ≤ b) : a < b - c ↔ a + c < b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ b)
Goal: a < b - c ↔ a + c < b
-- lt_tsub_iff_left_of_le
theorem lt_tsub_iff_left_of_le (h : c ≤ b) : a < b - c ↔ c + a < b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ b)
Goal: a < b - c ↔ c + a < b
-- lt_of_tsub_lt_tsub_left_of_le
theorem lt_of_tsub_lt_tsub_left_of_le [ContravariantClass α α (· + ·) (· < ·)] (hca : c ≤ a)
    (h : a - b < a - c) : c < b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] (hca : c ≤ a) (h : a - b < a - c)
Goal: c < b
-- tsub_lt_tsub_left_of_le
theorem tsub_lt_tsub_left_of_le : b ≤ a → c < b → a - b < a - c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1]
Goal: b ≤ a → c < b → a - b < a - c
-- tsub_lt_tsub_right_of_le
theorem tsub_lt_tsub_right_of_le (h : c ≤ a) (h2 : a < b) : a - c < b - c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ a) (h2 : a < b)
Goal: a - c < b - c
-- tsub_inj_right
theorem tsub_inj_right (h₁ : b ≤ a) (h₂ : c ≤ a) (h₃ : a - b = a - c) : b = c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h₁ : b ≤ a) (h₂ : c ≤ a) (h₃ : a - b = a - c)
Goal: b = c
-- tsub_lt_tsub_iff_left_of_le_of_le
theorem tsub_lt_tsub_iff_left_of_le_of_le [ContravariantClass α α (· + ·) (· < ·)] (h₁ : b ≤ a)
    (h₂ : c ≤ a) : a - b < a - c ↔ c < b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x < x_1] (h₁ : b ≤ a) (h₂ : c ≤ a)
Goal: a - b < a - c ↔ c < b
-- add_tsub_tsub_cancel
@[simp]
theorem add_tsub_tsub_cancel (h : c ≤ a) : a + b - (a - c) = b + c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ a)
Goal: a + b - (a - c) = b + c
-- tsub_tsub_cancel_of_le
theorem tsub_tsub_cancel_of_le (h : a ≤ b) : b - (b - a) = a 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : a ≤ b)
Goal: b - (b - a) = a
-- tsub_tsub_tsub_cancel_left
theorem tsub_tsub_tsub_cancel_left (h : b ≤ a) : a - c - (a - b) = b - c 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : b ≤ a)
Goal: a - c - (a - b) = b - c
-- tsub_tsub_eq_add_tsub_of_le
theorem tsub_tsub_eq_add_tsub_of_le [ContravariantClass α α HAdd.hAdd LE.le]
    (h : c ≤ b) : a - (b - c) = a + c - b 
Arguments: {α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α HAdd.hAdd LE.le] (h : c ≤ b)
Goal: a - (b - c) = a + c - b
-- add_tsub_cancel_iff_le
theorem add_tsub_cancel_iff_le : a + (b - a) = b ↔ a ≤ b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a + (b - a) = b ↔ a ≤ b
-- tsub_add_cancel_iff_le
theorem tsub_add_cancel_iff_le : b - a + a = b ↔ a ≤ b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: b - a + a = b ↔ a ≤ b
-- tsub_eq_zero_iff_le
theorem tsub_eq_zero_iff_le : a - b = 0 ↔ a ≤ b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a - b = 0 ↔ a ≤ b
-- tsub_self
theorem tsub_self (a : α) : a - a = 0 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] (a : α)
Goal: a - a = 0
-- tsub_le_self
theorem tsub_le_self : a - b ≤ a 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a - b ≤ a
-- zero_tsub
theorem zero_tsub (a : α) : 0 - a = 0 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] (a : α)
Goal: 0 - a = 0
-- tsub_self_add
theorem tsub_self_add (a b : α) : a - (a + b) = 0 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] (a b : α)
Goal: a - (a + b) = 0
-- tsub_pos_iff_not_le
theorem tsub_pos_iff_not_le : 0 < a - b ↔ ¬a ≤ b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: 0 < a - b ↔ ¬a ≤ b
-- tsub_pos_of_lt
theorem tsub_pos_of_lt (h : a < b) : 0 < b - a 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α} (h : a < b)
Goal: 0 < b - a
-- tsub_lt_of_lt
theorem tsub_lt_of_lt (h : a < b) : a - c < b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (h : a < b)
Goal: a - c < b
-- AddLECancellable.tsub_le_tsub_iff_left
protected theorem tsub_le_tsub_iff_left (ha : AddLECancellable a) (hc : AddLECancellable c)
    (h : c ≤ a) : a - b ≤ a - c ↔ c ≤ b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (ha : AddLECancellable a) (hc : AddLECancellable c) (h : c ≤ a)
Goal: a - b ≤ a - c ↔ c ≤ b
-- AddLECancellable.tsub_right_inj
protected theorem tsub_right_inj (ha : AddLECancellable a) (hb : AddLECancellable b)
    (hc : AddLECancellable c) (hba : b ≤ a) (hca : c ≤ a) : a - b = a - c ↔ b = c 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (ha : AddLECancellable a) (hb : AddLECancellable b) (hc : AddLECancellable c) (hba : b ≤ a) (hca : c ≤ a)
Goal: a - b = a - c ↔ b = c
-- tsub_le_tsub_iff_left
theorem tsub_le_tsub_iff_left (h : c ≤ a) : a - b ≤ a - c ↔ c ≤ b 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ a)
Goal: a - b ≤ a - c ↔ c ≤ b
-- tsub_right_inj
theorem tsub_right_inj (hba : b ≤ a) (hca : c ≤ a) : a - b = a - c ↔ b = c 
Arguments: {α : Type u_1} [CanonicallyOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (hba : b ≤ a) (hca : c ≤ a)
Goal: a - b = a - c ↔ b = c
-- tsub_pos_iff_lt
@[simp]
theorem tsub_pos_iff_lt : 0 < a - b ↔ b < a 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: 0 < a - b ↔ b < a
-- tsub_eq_tsub_min
theorem tsub_eq_tsub_min (a b : α) : a - b = a - min a b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] (a b : α)
Goal: a - b = a - min a b
-- AddLECancellable.lt_tsub_iff_right
protected theorem lt_tsub_iff_right (hc : AddLECancellable c) : a < b - c ↔ a + c < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c)
Goal: a < b - c ↔ a + c < b
-- AddLECancellable.lt_tsub_iff_left
protected theorem lt_tsub_iff_left (hc : AddLECancellable c) : a < b - c ↔ c + a < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c)
Goal: a < b - c ↔ c + a < b
-- AddLECancellable.tsub_lt_tsub_iff_right
protected theorem tsub_lt_tsub_iff_right (hc : AddLECancellable c) (h : c ≤ a) :
    a - c < b - c ↔ a < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c) (h : c ≤ a)
Goal: a - c < b - c ↔ a < b
-- AddLECancellable.tsub_lt_self
protected theorem tsub_lt_self (ha : AddLECancellable a) (h₁ : 0 < a) (h₂ : 0 < b) : a - b < a 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α} (ha : AddLECancellable a) (h₁ : 0 < a) (h₂ : 0 < b)
Goal: a - b < a
-- AddLECancellable.tsub_lt_self_iff
protected theorem tsub_lt_self_iff (ha : AddLECancellable a) : a - b < a ↔ 0 < a ∧ 0 < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α} (ha : AddLECancellable a)
Goal: a - b < a ↔ 0 < a ∧ 0 < b
-- AddLECancellable.tsub_lt_tsub_iff_left_of_le
protected theorem tsub_lt_tsub_iff_left_of_le (ha : AddLECancellable a) (hb : AddLECancellable b)
    (h : b ≤ a) : a - b < a - c ↔ c < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} (ha : AddLECancellable a) (hb : AddLECancellable b) (h : b ≤ a)
Goal: a - b < a - c ↔ c < b
-- tsub_lt_tsub_iff_right
theorem tsub_lt_tsub_iff_right (h : c ≤ a) : a - c < b - c ↔ a < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : c ≤ a)
Goal: a - c < b - c ↔ a < b
-- tsub_lt_self
theorem tsub_lt_self : 0 < a → 0 < b → a - b < a 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1]
Goal: 0 < a → 0 < b → a - b < a
-- tsub_lt_self_iff
@[simp] theorem tsub_lt_self_iff : a - b < a ↔ 0 < a ∧ 0 < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1]
Goal: a - b < a ↔ 0 < a ∧ 0 < b
-- tsub_lt_tsub_iff_left_of_le
theorem tsub_lt_tsub_iff_left_of_le (h : b ≤ a) : a - b < a - c ↔ c < b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b c : α} [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (h : b ≤ a)
Goal: a - b < a - c ↔ c < b
-- tsub_tsub_eq_min
lemma tsub_tsub_eq_min (a b : α) : a - (a - b) = min a b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b : α)
Goal: a - (a - b) = min a b
-- tsub_add_eq_max
theorem tsub_add_eq_max : a - b + b = max a b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a - b + b = max a b
-- add_tsub_eq_max
theorem add_tsub_eq_max : a + (b - a) = max a b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a + (b - a) = max a b
-- tsub_min
theorem tsub_min : a - min a b = a - b 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a - min a b = a - b
-- tsub_add_min
theorem tsub_add_min : a - b + min a b = a 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] {a b : α}
Goal: a - b + min a b = a
-- Even.tsub
lemma Even.tsub [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α]
    [ContravariantClass α α (· + ·) (· ≤ ·)] {m n : α} (hm : Even m) (hn : Even n) :
    Even (m - n) 
Arguments: {α : Type u_1} [CanonicallyLinearOrderedAddCommMonoid α] [Sub α] [OrderedSub α] [ContravariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] {m n : α} (hm : Even m) (hn : Even n)
Goal: Even (m - n)
-- fn_min_add_fn_max
@[to_additive]
lemma fn_min_mul_fn_max  (f : α → β) (a b : α) : f (min a b) * f (max a b) = f a * f b 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [AddCommSemigroup β] (f : α → β) (a b : α)
Goal: f (min a b) + f (max a b) = f a + f b
-- fn_min_mul_fn_max
@[to_additive]
lemma fn_min_mul_fn_max  (f : α → β) (a b : α) : f (min a b) * f (max a b) = f a * f b 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [CommSemigroup β] (f : α → β) (a b : α)
Goal: f (min a b) * f (max a b) = f a * f b
-- fn_max_mul_fn_min
@[to_additive]
lemma fn_max_mul_fn_min (f : α → β) (a b : α) : f (max a b) * f (min a b) = f a * f b 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [CommSemigroup β] (f : α → β) (a b : α)
Goal: f (max a b) * f (min a b) = f a * f b
-- fn_max_add_fn_min
@[to_additive]
lemma fn_max_mul_fn_min (f : α → β) (a b : α) : f (max a b) * f (min a b) = f a * f b 
Arguments: {α : Type u_1} {β : Type u_2} [LinearOrder α] [AddCommSemigroup β] (f : α → β) (a b : α)
Goal: f (max a b) + f (min a b) = f a + f b
-- min_add_max
@[to_additive (attr := simp)]
lemma min_mul_max (a b : α) : min a b * max a b = a * b 
Arguments: {α : Type u_1} [LinearOrder α] [AddCommSemigroup α] (a b : α)
Goal: min a b + max a b = a + b
-- min_mul_max
@[to_additive (attr := simp)]
lemma min_mul_max (a b : α) : min a b * max a b = a * b 
Arguments: {α : Type u_1} [LinearOrder α] [CommSemigroup α] (a b : α)
Goal: min a b * max a b = a * b
-- max_add_min
@[to_additive (attr := simp)]
lemma max_mul_min (a b : α) : max a b * min a b = a * b 
Arguments: {α : Type u_1} [LinearOrder α] [AddCommSemigroup α] (a b : α)
Goal: max a b + min a b = a + b
-- max_mul_min
@[to_additive (attr := simp)]
lemma max_mul_min (a b : α) : max a b * min a b = a * b 
Arguments: {α : Type u_1} [LinearOrder α] [CommSemigroup α] (a b : α)
Goal: max a b * min a b = a * b
-- min_mul_mul_left
@[to_additive]
theorem min_mul_mul_left (a b c : α) : min (a * b) (a * c) = a * min b c 
Arguments: {α : Type u_1} [LinearOrder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: min (a * b) (a * c) = a * min b c
-- min_add_add_left
@[to_additive]
theorem min_mul_mul_left (a b c : α) : min (a * b) (a * c) = a * min b c 
Arguments: {α : Type u_1} [LinearOrder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: min (a + b) (a + c) = a + min b c
-- max_mul_mul_left
@[to_additive]
theorem max_mul_mul_left (a b c : α) : max (a * b) (a * c) = a * max b c 
Arguments: {α : Type u_1} [LinearOrder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: max (a * b) (a * c) = a * max b c
-- max_add_add_left
@[to_additive]
theorem max_mul_mul_left (a b c : α) : max (a * b) (a * c) = a * max b c 
Arguments: {α : Type u_1} [LinearOrder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: max (a + b) (a + c) = a + max b c
-- min_add_add_right
@[to_additive]
theorem min_mul_mul_right (a b c : α) : min (a * c) (b * c) = min a b * c 
Arguments: {α : Type u_1} [LinearOrder α] [Add α] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: min (a + c) (b + c) = min a b + c
-- min_mul_mul_right
@[to_additive]
theorem min_mul_mul_right (a b c : α) : min (a * c) (b * c) = min a b * c 
Arguments: {α : Type u_1} [LinearOrder α] [Mul α] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: min (a * c) (b * c) = min a b * c
-- max_mul_mul_right
@[to_additive]
theorem max_mul_mul_right (a b c : α) : max (a * c) (b * c) = max a b * c 
Arguments: {α : Type u_1} [LinearOrder α] [Mul α] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: max (a * c) (b * c) = max a b * c
-- max_add_add_right
@[to_additive]
theorem max_mul_mul_right (a b c : α) : max (a * c) (b * c) = max a b * c 
Arguments: {α : Type u_1} [LinearOrder α] [Add α] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b c : α)
Goal: max (a + c) (b + c) = max a b + c
-- lt_or_lt_of_add_lt_add
@[to_additive]
theorem lt_or_lt_of_mul_lt_mul [CovariantClass α α (· * ·) (· ≤ ·)]
    [CovariantClass α α (Function.swap (· * ·)) (· ≤ ·)] {a₁ a₂ b₁ b₂ : α} :
    a₁ * b₁ < a₂ * b₂ → a₁ < a₂ ∨ b₁ < b₂ 
Arguments: {α : Type u_1} [LinearOrder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] {a₁ a₂ b₁ b₂ : α}
Goal: a₁ + b₁ < a₂ + b₂ → a₁ < a₂ ∨ b₁ < b₂
-- lt_or_lt_of_mul_lt_mul
@[to_additive]
theorem lt_or_lt_of_mul_lt_mul [CovariantClass α α (· * ·) (· ≤ ·)]
    [CovariantClass α α (Function.swap (· * ·)) (· ≤ ·)] {a₁ a₂ b₁ b₂ : α} :
    a₁ * b₁ < a₂ * b₂ → a₁ < a₂ ∨ b₁ < b₂ 
Arguments: {α : Type u_1} [LinearOrder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] {a₁ a₂ b₁ b₂ : α}
Goal: a₁ * b₁ < a₂ * b₂ → a₁ < a₂ ∨ b₁ < b₂