Loogle!
Result
Found 355 declarations mentioning ExistsAddOfLE. Of these, only the first 200 are shown.
- ExistsAddOfLE 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
(α : Type u) [Add α] [LE α] : Prop - AddGroup.existsAddOfLE 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
(α : Type u) [AddGroup α] [LE α] : ExistsAddOfLE α - ExistsAddOfLE.exists_add_of_le 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} {inst✝ : Add α} {inst✝¹ : LE α} [self : ExistsAddOfLE α] {a b : α} : a ≤ b → ∃ c, b = a + c - ExistsAddOfLE.mk 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [Add α] [LE α] (exists_add_of_le : ∀ {a b : α}, a ≤ b → ∃ c, b = a + c) : ExistsAddOfLE α - exists_nonneg_add_of_le 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [AddZeroClass α] [Preorder α] [ExistsAddOfLE α] {a b : α} [AddLeftReflectLE α] (h : a ≤ b) : ∃ c, 0 ≤ c ∧ a + c = b - exists_pos_add_of_lt' 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [AddZeroClass α] [Preorder α] [ExistsAddOfLE α] {a b : α} [AddLeftReflectLT α] (h : a < b) : ∃ c, 0 < c ∧ a + c = b - le_iff_exists_nonneg_add 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [AddZeroClass α] [Preorder α] [ExistsAddOfLE α] {a b : α} [AddLeftMono α] [AddLeftReflectLE α] : a ≤ b ↔ ∃ c, 0 ≤ c ∧ a + c = b - lt_iff_exists_pos_add 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [AddZeroClass α] [Preorder α] [ExistsAddOfLE α] {a b : α} [AddLeftStrictMono α] [AddLeftReflectLT α] : a < b ↔ ∃ c, 0 < c ∧ a + c = b - le_of_forall_pos_le_add 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [LinearOrder α] [DenselyOrdered α] [AddMonoid α] [ExistsAddOfLE α] [AddLeftReflectLT α] {a b : α} (h : ∀ (ε : α), 0 < ε → a ≤ b + ε) : a ≤ b - le_of_forall_pos_lt_add' 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [LinearOrder α] [DenselyOrdered α] [AddMonoid α] [ExistsAddOfLE α] [AddLeftReflectLT α] {a b : α} (h : ∀ (ε : α), 0 < ε → a < b + ε) : a ≤ b - le_iff_forall_pos_le_add 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [LinearOrder α] [DenselyOrdered α] [AddMonoid α] [ExistsAddOfLE α] [AddLeftReflectLT α] {a b : α} [AddLeftStrictMono α] : a ≤ b ↔ ∀ (ε : α), 0 < ε → a ≤ b + ε - le_iff_forall_pos_lt_add' 📋 Mathlib.Algebra.Order.Monoid.Unbundled.ExistsOfLE
{α : Type u} [LinearOrder α] [DenselyOrdered α] [AddMonoid α] [ExistsAddOfLE α] [AddLeftReflectLT α] {a b : α} [AddLeftStrictMono α] : a ≤ b ↔ ∀ (ε : α), 0 < ε → a < b + ε - antitone_mul_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] {a : R} (ha : a ≤ 0) : Antitone fun x => a * x - antitone_mul_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] {a : R} (ha : a ≤ 0) : Antitone fun x => x * a - Antitone.const_mul_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Antitone f) (ha : a ≤ 0) : Monotone fun x => a * f x - Antitone.mul_const_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Antitone f) (ha : a ≤ 0) : Monotone fun x => f x * a - Monotone.const_mul_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Monotone f) (ha : a ≤ 0) : Antitone fun x => a * f x - Monotone.mul_const_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Monotone f) (ha : a ≤ 0) : Antitone fun x => f x * a - instZeroLEOneClassOfExistsAddOfLEOfPosMulMonoOfAddLeftMono 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] : ZeroLEOneClass R - strictAnti_mul_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] {a : R} (ha : a < 0) : StrictAnti fun x => a * x - strictAnti_mul_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] {a : R} (ha : a < 0) : StrictAnti fun x => x * a - le_mul_of_le_one_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b : R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hb : b ≤ 0) (h : a ≤ 1) : b ≤ a * b - le_mul_of_le_one_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b : R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (ha : a ≤ 0) (h : b ≤ 1) : a ≤ a * b - mul_le_mul_of_nonpos_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c : R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (h : b ≤ a) (hc : c ≤ 0) : c * a ≤ c * b - mul_le_mul_of_nonpos_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c : R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (h : b ≤ a) (hc : c ≤ 0) : a * c ≤ b * c - mul_le_of_one_le_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b : R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hb : b ≤ 0) (h : 1 ≤ a) : a * b ≤ b - mul_le_of_one_le_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b : R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (ha : a ≤ 0) (h : 1 ≤ b) : a * b ≤ a - mul_self_nonneg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] (a : R) : 0 ≤ a * a - mul_nonneg_of_nonpos_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b : R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (ha : a ≤ 0) (hb : b ≤ 0) : 0 ≤ a * b - StrictAnti.const_mul_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [PartialOrder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (hf : StrictAnti f) (ha : a < 0) : StrictMono fun x => a * f x - StrictAnti.mul_const_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [PartialOrder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (hf : StrictAnti f) (ha : a < 0) : StrictMono fun x => f x * a - StrictMono.const_mul_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [PartialOrder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (hf : StrictMono f) (ha : a < 0) : StrictAnti fun x => a * f x - StrictMono.mul_const_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [PartialOrder R] {a : R} [Preorder α] {f : α → R} [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (hf : StrictMono f) (ha : a < 0) : StrictAnti fun x => f x * a - pow_two_nonneg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] (a : R) : 0 ≤ a ^ 2 - sq_nonneg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] (a : R) : 0 ≤ a ^ 2 - lt_mul_of_lt_one_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b : R} [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (hb : b < 0) (h : a < 1) : b < a * b - lt_mul_of_lt_one_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b : R} [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (ha : a < 0) (h : b < 1) : a < a * b - mul_lt_mul_of_neg_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b c : R} [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (h : b < a) (hc : c < 0) : c * a < c * b - mul_lt_mul_of_neg_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b c : R} [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (h : b < a) (hc : c < 0) : a * c < b * c - mul_lt_of_one_lt_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b : R} [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (hb : b < 0) (h : 1 < a) : a * b < b - mul_lt_of_one_lt_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b : R} [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] (ha : a < 0) (h : 1 < b) : a * b < a - mul_pos_of_neg_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] {a b : R} (ha : a < 0) (hb : b < 0) : 0 < a * b - sq_nonpos_iff 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] [NoZeroDivisors R] (r : R) : r ^ 2 ≤ 0 ↔ r = 0 - mul_le_mul_of_nonneg_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c d : R} [ExistsAddOfLE R] [MulPosMono R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (hca : c ≤ a) (hbd : b ≤ d) (hc : 0 ≤ c) (hb : b ≤ 0) : a * b ≤ c * d - mul_le_mul_of_nonneg_of_nonpos' 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c d : R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hca : c ≤ a) (hbd : b ≤ d) (ha : 0 ≤ a) (hd : d ≤ 0) : a * b ≤ c * d - mul_le_mul_of_nonpos_of_nonneg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c d : R} [ExistsAddOfLE R] [MulPosMono R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (hac : a ≤ c) (hdb : d ≤ b) (hc : c ≤ 0) (hb : 0 ≤ b) : a * b ≤ c * d - mul_le_mul_of_nonpos_of_nonneg' 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c d : R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hca : c ≤ a) (hbd : b ≤ d) (ha : 0 ≤ a) (hd : d ≤ 0) : a * b ≤ c * d - mul_le_mul_of_nonpos_of_nonpos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c d : R} [ExistsAddOfLE R] [MulPosMono R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (hca : c ≤ a) (hdb : d ≤ b) (hc : c ≤ 0) (hb : b ≤ 0) : a * b ≤ c * d - mul_le_mul_of_nonpos_of_nonpos' 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [Preorder R] {a b c d : R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hca : c ≤ a) (hdb : d ≤ b) (ha : a ≤ 0) (hd : d ≤ 0) : a * b ≤ c * d - Antitone.mul 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] [Preorder α] {f g : α → R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Antitone f) (hg : Antitone g) (hf₀ : ∀ (x : α), f x ≤ 0) (hg₀ : ∀ (x : α), g x ≤ 0) : Monotone (f * g) - Antitone.mul_monotone 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] [Preorder α] {f g : α → R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Antitone f) (hg : Monotone g) (hf₀ : ∀ (x : α), f x ≤ 0) (hg₀ : ∀ (x : α), 0 ≤ g x) : Antitone (f * g) - Monotone.mul_antitone 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} {α : Type u_1} [Semiring R] [Preorder R] [Preorder α] {f g : α → R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hf : Monotone f) (hg : Antitone g) (hf₀ : ∀ (x : α), 0 ≤ f x) (hg₀ : ∀ (x : α), g x ≤ 0) : Antitone (f * g) - eq_zero_of_mul_self_add_mul_self_eq_zero 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [NoZeroDivisors R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] (h : a * a + b * b = 0) : a = 0 - mul_add_mul_le_mul_add_mul 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b c d : R} [ExistsAddOfLE R] [MulPosMono R] [AddLeftMono R] [AddLeftReflectLE R] (hab : a ≤ b) (hcd : c ≤ d) : a * d + b * c ≤ a * c + b * d - mul_add_mul_le_mul_add_mul' 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b c d : R} [ExistsAddOfLE R] [MulPosMono R] [AddLeftMono R] [AddLeftReflectLE R] (hba : b ≤ a) (hdc : d ≤ c) : a * d + b * c ≤ a * c + b * d - mul_add_mul_lt_mul_add_mul 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b c d : R} [AddLeftReflectLT R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddLeftStrictMono R] (hab : a < b) (hcd : c < d) : a * d + b * c < a * c + b * d - mul_add_mul_lt_mul_add_mul' 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [PartialOrder R] {a b c d : R} [AddLeftReflectLT R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddLeftStrictMono R] (hba : b < a) (hdc : d < c) : a * d + b * c < a * c + b * d - mul_self_add_mul_self_eq_zero 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [NoZeroDivisors R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] : a * a + b * b = 0 ↔ a = 0 ∧ b = 0 - mul_self_pos 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulStrictMono R] [MulPosStrictMono R] [AddLeftStrictMono R] [AddLeftReflectLT R] {a : R} : 0 < a * a ↔ a ≠ 0 - sq_add_sq_eq_zero 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [NoZeroDivisors R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] : a ^ 2 + b ^ 2 = 0 ↔ a = 0 ∧ b = 0 - lt_of_mul_lt_mul_of_nonpos_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b c : R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (h : c * a < c * b) (hc : c ≤ 0) : b < a - lt_of_mul_lt_mul_of_nonpos_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b c : R} [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (h : a * c < b * c) (hc : c ≤ 0) : b < a - pos_of_left_mul_lt_le 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b c : R} [ExistsAddOfLE R] [MulPosMono R] [AddLeftMono R] [AddRightReflectLE R] (h : b * a < c * a) (hbc : b ≤ c) : 0 < a - pos_of_right_mul_lt_le 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b c : R} [ExistsAddOfLE R] [PosMulMono R] [AddRightMono R] [AddRightReflectLE R] (h : a * b < a * c) (hbc : b ≤ c) : 0 < a - mul_le_mul_left_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightMono R] [AddRightReflectLE R] {a b c : R} (h : c < 0) : c * a ≤ c * b ↔ b ≤ a - mul_le_mul_right_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightMono R] [AddRightReflectLE R] {a b c : R} (h : c < 0) : a * c ≤ b * c ↔ b ≤ a - mul_lt_mul_left_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] {a b c : R} (h : c < 0) : c * a < c * b ↔ b < a - mul_lt_mul_right_of_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightStrictMono R] [AddRightReflectLT R] {a b c : R} (h : c < 0) : a * c < b * c ↔ b < a - nonneg_of_mul_nonpos_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightMono R] [AddRightReflectLE R] {a b : R} (h : a * b ≤ 0) (hb : b < 0) : 0 ≤ a - nonneg_of_mul_nonpos_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightMono R] [AddRightReflectLE R] {a b : R} (h : a * b ≤ 0) (ha : a < 0) : 0 ≤ b - pos_of_mul_neg_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] {a b : R} (h : a * b < 0) (hb : b ≤ 0) : 0 < a - pos_of_mul_neg_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] {a b : R} (h : a * b < 0) (ha : a ≤ 0) : 0 < b - cmp_mul_neg_left 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulStrictMono R] [AddRightReflectLT R] [AddRightStrictMono R] {a : R} (ha : a < 0) (b c : R) : cmp (a * b) (a * c) = cmp c b - cmp_mul_neg_right 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddRightReflectLT R] [AddRightStrictMono R] {a : R} (ha : a < 0) (b c : R) : cmp (b * a) (c * a) = cmp c b - neg_iff_pos_of_mul_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hab : a * b < 0) : a < 0 ↔ 0 < b - pos_iff_neg_of_mul_neg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [ExistsAddOfLE R] [PosMulMono R] [MulPosMono R] [AddRightMono R] [AddRightReflectLE R] (hab : a * b < 0) : 0 < a ↔ b < 0 - four_mul_le_pow_two_add 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [CommSemiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] (a b : R) : 4 * a * b ≤ (a + b) ^ 2 - four_mul_le_sq_add 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [CommSemiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] (a b : R) : 4 * a * b ≤ (a + b) ^ 2 - two_mul_le_add_pow_two 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [CommSemiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] (a b : R) : 2 * a * b ≤ a ^ 2 + b ^ 2 - two_mul_le_add_sq 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [CommSemiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] (a b : R) : 2 * a * b ≤ a ^ 2 + b ^ 2 - mul_nonneg_of_three 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [PosMulStrictMono R] [AddLeftMono R] [AddLeftReflectLE R] (a b c : R) : 0 ≤ a * b ∨ 0 ≤ b * c ∨ 0 ≤ c * a - mul_nonneg_iff_pos_imp_nonneg 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [ExistsAddOfLE R] [PosMulStrictMono R] [MulPosStrictMono R] [AddLeftMono R] [AddLeftReflectLE R] : 0 ≤ a * b ↔ (0 < a → 0 ≤ b) ∧ (0 < b → 0 ≤ a) - mul_nonneg_iff 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [ExistsAddOfLE R] [MulPosStrictMono R] [PosMulStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] : 0 ≤ a * b ↔ 0 ≤ a ∧ 0 ≤ b ∨ a ≤ 0 ∧ b ≤ 0 - mul_pos_iff 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [Semiring R] [LinearOrder R] {a b : R} [ExistsAddOfLE R] [PosMulStrictMono R] [MulPosStrictMono R] [AddLeftStrictMono R] [AddLeftReflectLT R] : 0 < a * b ↔ 0 < a ∧ 0 < b ∨ a < 0 ∧ b < 0 - two_mul_le_add_of_sq_eq_mul 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [CommSemiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [PosMulStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] {a b r : R} (ha : 0 ≤ a) (hb : 0 ≤ b) (ht : r ^ 2 = a * b) : 2 * r ≤ a + b - two_mul_le_add_of_sq_le_mul 📋 Mathlib.Algebra.Order.Ring.Unbundled.Basic
{R : Type u} [CommSemiring R] [LinearOrder R] [ExistsAddOfLE R] [MulPosStrictMono R] [PosMulStrictMono R] [AddLeftReflectLE R] [AddLeftMono R] {a b r : R} (ha : 0 ≤ a) (hb : 0 ≤ b) (ht : r ^ 2 ≤ a * b) : 2 * r ≤ a + b - IsStrictOrderedRing.isDomain 📋 Mathlib.Algebra.Order.Ring.Defs
{R : Type u} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] : IsDomain R - IsStrictOrderedRing.noZeroDivisors 📋 Mathlib.Algebra.Order.Ring.Defs
{R : Type u} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] : NoZeroDivisors R - CanonicallyOrderedAdd.toExistsAddOfLE 📋 Mathlib.Algebra.Order.Monoid.Canonical.Defs
{α : Type u_1} {inst✝ : Add α} {inst✝¹ : LE α} [self : CanonicallyOrderedAdd α] : ExistsAddOfLE α - CanonicallyOrderedAdd.mk 📋 Mathlib.Algebra.Order.Monoid.Canonical.Defs
{α : Type u_1} [Add α] [LE α] [toExistsAddOfLE : ExistsAddOfLE α] (le_add_self : ∀ (a b : α), a ≤ b + a) (le_self_add : ∀ (a b : α), a ≤ a + b) : CanonicallyOrderedAdd α - WithTop.existsAddOfLE 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} [LE α] [Add α] [ExistsAddOfLE α] : ExistsAddOfLE (WithTop α) - Additive.existsAddOfLe 📋 Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags
{α : Type u_1} [Mul α] [LE α] [ExistsMulOfLE α] : ExistsAddOfLE (Additive α) - Multiplicative.existsMulOfLe 📋 Mathlib.Algebra.Order.Monoid.Unbundled.TypeTags
{α : Type u_1} [Add α] [LE α] [ExistsAddOfLE α] : ExistsMulOfLE (Multiplicative α) - WithZero.instExistsAddOfLE 📋 Mathlib.Algebra.Order.GroupWithZero.Canonical
{α : Type u_1} [Preorder α] [Add α] [ExistsAddOfLE α] : ExistsAddOfLE (WithZero α) - add_tsub_cancel_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b : α} (h : a ≤ b) : a + (b - a) = b - tsub_add_cancel_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b : α} (h : a ≤ b) : b - a + a = b - tsub_tsub_cancel_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b : α} [AddLeftReflectLE α] (h : a ≤ b) : b - (b - a) = a - tsub_inj_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h₁ : a ≤ b) (h₂ : a ≤ c) : b - a = c - a → b = c - lt_of_tsub_lt_tsub_right_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h : c ≤ b) (h2 : a - c < b - c) : a < b - tsub_left_inj 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h1 : c ≤ a) (h2 : c ≤ b) : a - c = b - c ↔ a = b - tsub_le_tsub_iff_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h : c ≤ b) : a - c ≤ b - c ↔ a ≤ b - tsub_tsub_tsub_cancel_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h : c ≤ b) : a - c - (b - c) = a - b - add_le_of_le_tsub_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h : a ≤ c) (h2 : b ≤ c - a) : a + b ≤ c - add_le_of_le_tsub_right_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (h : b ≤ c) (h2 : a ≤ c - b) : a + b ≤ c - AddLECancellable.tsub_tsub_cancel_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b : α} (hba : AddLECancellable (b - a)) (h : a ≤ b) : b - (b - a) = a - eq_tsub_iff_add_eq_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : c ≤ b) : a = b - c ↔ a + c = b - tsub_eq_iff_eq_add_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : b ≤ a) : a - b = c ↔ a = c + b - AddLECancellable.eq_tsub_iff_add_eq_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c) (h : c ≤ b) : a = b - c ↔ a + c = b - AddLECancellable.tsub_eq_iff_eq_add_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hb : AddLECancellable b) (h : b ≤ a) : a - b = c ↔ a = c + b - tsub_inj_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h₁ : b ≤ a) (h₂ : c ≤ a) (h₃ : a - b = a - c) : b = c - tsub_lt_tsub_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] : b ≤ a → c < b → a - b < a - c - tsub_lt_tsub_right_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : c ≤ a) (h2 : a < b) : a - c < b - c - AddLECancellable.tsub_lt_tsub_right_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c) (h : c ≤ a) (h2 : a < b) : a - c < b - c - tsub_tsub_tsub_cancel_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : b ≤ a) : a - c - (a - b) = b - c - tsub_add_tsub_cancel 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hab : b ≤ a) (hcb : c ≤ b) : a - b + (b - c) = a - c - le_tsub_iff_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : a ≤ c) : b ≤ c - a ↔ a + b ≤ c - le_tsub_iff_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : a ≤ c) : b ≤ c - a ↔ b + a ≤ c - lt_tsub_iff_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : c ≤ b) : a < b - c ↔ c + a < b - lt_tsub_iff_right_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : c ≤ b) : a < b - c ↔ a + c < b - tsub_lt_iff_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (hbc : b ≤ a) : a - b < c ↔ a < b + c - tsub_lt_iff_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (hbc : b ≤ a) : a - b < c ↔ a < c + b - tsub_tsub_eq_add_tsub_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : c ≤ b) : a - (b - c) = a + c - b - AddLECancellable.le_tsub_iff_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (ha : AddLECancellable a) (h : a ≤ c) : b ≤ c - a ↔ a + b ≤ c - AddLECancellable.le_tsub_iff_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (ha : AddLECancellable a) (h : a ≤ c) : b ≤ c - a ↔ b + a ≤ c - AddLECancellable.lt_tsub_iff_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c) (h : c ≤ b) : a < b - c ↔ c + a < b - AddLECancellable.lt_tsub_iff_right_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c) (h : c ≤ b) : a < b - c ↔ a + c < b - AddLECancellable.tsub_lt_iff_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hb : AddLECancellable b) (hba : b ≤ a) : a - b < c ↔ a < b + c - AddLECancellable.tsub_lt_iff_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hb : AddLECancellable b) (hba : b ≤ a) : a - b < c ↔ a < c + b - AddLECancellable.tsub_inj_right 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hab : AddLECancellable (a - b)) (h₁ : b ≤ a) (h₂ : c ≤ a) (h₃ : a - b = a - c) : b = c - AddLECancellable.tsub_lt_tsub_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hab : AddLECancellable (a - b)) (h₁ : b ≤ a) (h : c < b) : a - b < a - c - add_tsub_assoc_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {b c : α} [AddLeftReflectLE α] (h : c ≤ b) (a : α) : a + b - c = a + (b - c) - add_tsub_tsub_cancel 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : c ≤ a) : a + b - (a - c) = b + c - le_tsub_iff_le_tsub 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h₁ : a ≤ b) (h₂ : c ≤ b) : a ≤ b - c ↔ c ≤ b - a - tsub_add_eq_add_tsub 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h : b ≤ a) : a - b + c = a + c - b - tsub_lt_iff_tsub_lt 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h₁ : b ≤ a) (h₂ : c ≤ a) : a - b < c ↔ a - c < b - AddLECancellable.add_tsub_assoc_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {b c : α} (hc : AddLECancellable c) (h : c ≤ b) (a : α) : a + b - c = a + (b - c) - AddLECancellable.tsub_add_eq_add_tsub 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hb : AddLECancellable b) (h : b ≤ a) : a - b + c = a + c - b - AddLECancellable.tsub_tsub_tsub_cancel_left 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hab : AddLECancellable (a - b)) (h : b ≤ a) : a - c - (a - b) = b - c - lt_of_tsub_lt_tsub_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] [AddLeftReflectLT α] (hca : c ≤ a) (h : a - b < a - c) : c < b - AddLECancellable.lt_of_tsub_lt_tsub_left_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLT α] (hb : AddLECancellable b) (hca : c ≤ a) (h : a - b < a - c) : c < b - add_add_tsub_cancel 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (hcb : c ≤ b) : a + c + (b - c) = a + b - tsub_tsub_assoc 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] (h₁ : b ≤ a) (h₂ : c ≤ b) : a - (b - c) = a - b + c - AddLECancellable.add_add_tsub_cancel 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hc : AddLECancellable c) (hcb : c ≤ b) : a + c + (b - c) = a + b - AddLECancellable.add_tsub_tsub_cancel 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hac : AddLECancellable (a - c)) (h : c ≤ a) : a + b - (a - c) = b + c - tsub_lt_tsub_iff_left_of_le_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLE α] [AddLeftReflectLT α] (h₁ : b ≤ a) (h₂ : c ≤ a) : a - b < a - c ↔ c < b - AddLECancellable.le_tsub_iff_le_tsub 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (ha : AddLECancellable a) (hc : AddLECancellable c) (h₁ : a ≤ b) (h₂ : c ≤ b) : a ≤ b - c ↔ c ≤ b - a - AddLECancellable.tsub_lt_iff_tsub_lt 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hb : AddLECancellable b) (hc : AddLECancellable c) (h₁ : b ≤ a) (h₂ : c ≤ a) : a - b < c ↔ a - c < b - AddLECancellable.tsub_tsub_assoc 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} (hbc : AddLECancellable (b - c)) (h₁ : b ≤ a) (h₂ : c ≤ b) : a - (b - c) = a - b + c - tsub_add_tsub_comm 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c d : α} [AddLeftReflectLE α] (hba : b ≤ a) (hdc : d ≤ c) : a - b + (c - d) = a + c - (b + d) - AddLECancellable.tsub_lt_tsub_iff_left_of_le_of_le 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c : α} [AddLeftReflectLT α] (hb : AddLECancellable b) (hab : AddLECancellable (a - b)) (h₁ : b ≤ a) (h₂ : c ≤ a) : a - b < a - c ↔ c < b - AddLECancellable.tsub_add_tsub_comm 📋 Mathlib.Algebra.Order.Sub.Unbundled.Basic
{α : Type u_1} [AddCommSemigroup α] [PartialOrder α] [ExistsAddOfLE α] [AddLeftMono α] [Sub α] [OrderedSub α] {a b c d : α} (hb : AddLECancellable b) (hd : AddLECancellable d) (hba : b ≤ a) (hdc : d ≤ c) : a - b + (c - d) = a + c - (b + d) - Nat.ceil_sub_natCast 📋 Mathlib.Algebra.Order.Floor.Semiring
{R : Type u_1} [Semiring R] [LinearOrder R] [FloorSemiring R] [IsStrictOrderedRing R] [Sub R] [OrderedSub R] [ExistsAddOfLE R] (a : R) (n : ℕ) : ⌈a - ↑n⌉₊ = ⌈a⌉₊ - n - Nat.floor_sub_natCast 📋 Mathlib.Algebra.Order.Floor.Semiring
{R : Type u_1} [Semiring R] [LinearOrder R] [FloorSemiring R] [IsStrictOrderedRing R] [Sub R] [OrderedSub R] [ExistsAddOfLE R] (a : R) (n : ℕ) : ⌊a - ↑n⌋₊ = ⌊a⌋₊ - n - Nat.ceil_sub_one 📋 Mathlib.Algebra.Order.Floor.Semiring
{R : Type u_1} [Semiring R] [LinearOrder R] [FloorSemiring R] [IsStrictOrderedRing R] [Sub R] [OrderedSub R] [ExistsAddOfLE R] (a : R) : ⌈a - 1⌉₊ = ⌈a⌉₊ - 1 - Nat.floor_sub_one 📋 Mathlib.Algebra.Order.Floor.Semiring
{R : Type u_1} [Semiring R] [LinearOrder R] [FloorSemiring R] [IsStrictOrderedRing R] [Sub R] [OrderedSub R] [ExistsAddOfLE R] (a : R) : ⌊a - 1⌋₊ = ⌊a⌋₊ - 1 - Nat.ceil_sub_ofNat 📋 Mathlib.Algebra.Order.Floor.Semiring
{R : Type u_1} [Semiring R] [LinearOrder R] [FloorSemiring R] [IsStrictOrderedRing R] [Sub R] [OrderedSub R] [ExistsAddOfLE R] (a : R) (n : ℕ) [n.AtLeastTwo] : ⌈a - OfNat.ofNat n⌉₊ = ⌈a⌉₊ - OfNat.ofNat n - Nat.floor_sub_ofNat 📋 Mathlib.Algebra.Order.Floor.Semiring
{R : Type u_1} [Semiring R] [LinearOrder R] [FloorSemiring R] [IsStrictOrderedRing R] [Sub R] [OrderedSub R] [ExistsAddOfLE R] (a : R) (n : ℕ) [n.AtLeastTwo] : ⌊a - OfNat.ofNat n⌋₊ = ⌊a⌋₊ - OfNat.ofNat n - Odd.pow_injective 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {n : ℕ} (hn : Odd n) : Function.Injective fun x => x ^ n - Odd.pow_inj 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {n : ℕ} (hn : Odd n) {a b : R} : a ^ n = b ^ n ↔ a = b - Even.pow_nonneg 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsOrderedRing R] [ExistsAddOfLE R] {n : ℕ} (hn : Even n) (a : R) : 0 ≤ a ^ n - Odd.strictMono_pow 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : StrictMono fun a => a ^ n - pow_two_pos_of_ne_zero 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {a : R} : a ≠ 0 → 0 < a ^ 2 - sq_pos_of_ne_zero 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {a : R} : a ≠ 0 → 0 < a ^ 2 - sq_pos_iff 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {a : R} : 0 < a ^ 2 ↔ a ≠ 0 - Even.pow_pos 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Even n) (ha : a ≠ 0) : 0 < a ^ n - IsSquare.nonneg 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] {x : R} (h : IsSquare x) : 0 ≤ x - not_isSquare_of_neg 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [ExistsAddOfLE R] [PosMulMono R] [AddLeftMono R] {x : R} (h : x < 0) : ¬IsSquare x - Even.pow_pos_iff 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Even n) (h₀ : n ≠ 0) : 0 < a ^ n ↔ a ≠ 0 - Odd.pow_le_pow 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {n : ℕ} (hn : Odd n) {a b : R} : a ^ n ≤ b ^ n ↔ a ≤ b - Odd.pow_lt_pow 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [ExistsAddOfLE R] {n : ℕ} (hn : Odd n) {a b : R} : a ^ n < b ^ n ↔ a < b - Odd.pow_neg 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : a < 0 → a ^ n < 0 - Odd.pow_nonpos 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : a ≤ 0 → a ^ n ≤ 0 - Odd.pow_neg_iff 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : a ^ n < 0 ↔ a < 0 - Odd.pow_nonneg_iff 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : 0 ≤ a ^ n ↔ 0 ≤ a - Odd.pow_nonpos_iff 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : a ^ n ≤ 0 ↔ a ≤ 0 - Odd.pow_pos_iff 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a : R} {n : ℕ} [ExistsAddOfLE R] (hn : Odd n) : 0 < a ^ n ↔ 0 < a - pow_four_le_pow_two_of_pow_two_le 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsOrderedRing R] [ExistsAddOfLE R] {a b : R} (h : a ^ 2 ≤ b) : a ^ 4 ≤ b ^ 2 - pow_add_pow_eq_zero_iff_of_even 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsOrderedRing R] [ExistsAddOfLE R] [NoZeroDivisors R] {n : ℕ} (hn : n ≠ 0) (hn' : Even n) (x y : R) : x ^ n + y ^ n = 0 ↔ x = 0 ∧ y = 0 - add_sq_le 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a b : R} [ExistsAddOfLE R] : (a + b) ^ 2 ≤ 2 * (a ^ 2 + b ^ 2) - Even.add_pow_le 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a b : R} {n : ℕ} [ExistsAddOfLE R] (hn : Even n) : (a + b) ^ n ≤ 2 ^ (n - 1) * (a ^ n + b ^ n) - add_pow_le 📋 Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] {a b : R} [ExistsAddOfLE R] (ha : 0 ≤ a) (hb : 0 ≤ b) (n : ℕ) : (a + b) ^ n ≤ 2 ^ (n - 1) * (a ^ n + b ^ n) - Nonneg.existsAddOfLE 📋 Mathlib.Algebra.Order.Nonneg.Ring
{α : Type u_1} [Semiring α] [PartialOrder α] [IsStrictOrderedRing α] [ExistsAddOfLE α] : ExistsAddOfLE (Nonneg α) - one_add_le_pow_of_two_add_nonneg 📋 Mathlib.Algebra.Order.Ring.Pow
{R : Type u_1} [Semiring R] [LinearOrder R] [IsOrderedRing R] [ExistsAddOfLE R] {a : R} (H : 0 ≤ 2 + a) (n : ℕ) : 1 + ↑n * a ≤ (1 + a) ^ n - Commute.pow_add_mul_le_add_pow 📋 Mathlib.Algebra.Order.Ring.Pow
{R : Type u_1} [Semiring R] [LinearOrder R] [IsOrderedRing R] [ExistsAddOfLE R] {a b : R} (Hcomm : Commute a b) (ha : 0 ≤ a) (H : 0 ≤ 2 * a + b) (n : ℕ) : a ^ n + ↑n * a ^ (n - 1) * b ≤ (a + b) ^ n - pow_add_mul_le_add_pow 📋 Mathlib.Algebra.Order.Ring.Pow
{R : Type u_1} [CommSemiring R] [LinearOrder R] [IsOrderedRing R] [ExistsAddOfLE R] {a b : R} (ha : 0 ≤ a) (H : 0 ≤ 2 * a + b) (n : ℕ) : a ^ n + ↑n * a ^ (n - 1) * b ≤ (a + b) ^ n - pow_unbounded_of_one_lt 📋 Mathlib.Algebra.Order.Archimedean.Basic
{R : Type u_3} [Semiring R] [PartialOrder R] [IsStrictOrderedRing R] [Archimedean R] {y : R} [ExistsAddOfLE R] (x : R) (hy1 : 1 < y) : ∃ n, x < y ^ n - Nonneg.instMulArchimedean 📋 Mathlib.Algebra.Order.Archimedean.Basic
{R : Type u_3} [CommSemiring R] [PartialOrder R] [IsStrictOrderedRing R] [Archimedean R] [ExistsAddOfLE R] : MulArchimedean (Nonneg R) - exists_pow_lt_of_lt_one 📋 Mathlib.Algebra.Order.Archimedean.Basic
{K : Type u_4} [Semifield K] [LinearOrder K] [IsStrictOrderedRing K] [Archimedean K] {x y : K} [ExistsAddOfLE K] (hx : 0 < x) (hy : y < 1) : ∃ n, y ^ n < x - exists_nat_pow_near 📋 Mathlib.Algebra.Order.Archimedean.Basic
{R : Type u_3} [Semiring R] [LinearOrder R] [IsStrictOrderedRing R] [Archimedean R] [ExistsAddOfLE R] {x y : R} (hx : 1 ≤ x) (hy : 1 < y) : ∃ n, y ^ n ≤ x ∧ x < y ^ (n + 1) - exists_mem_Ico_zpow 📋 Mathlib.Algebra.Order.Archimedean.Basic
{K : Type u_4} [Semifield K] [LinearOrder K] [IsStrictOrderedRing K] [Archimedean K] {x y : K} [ExistsAddOfLE K] (hx : 0 < x) (hy : 1 < y) : ∃ n, x ∈ Set.Ico (y ^ n) (y ^ (n + 1)) - exists_mem_Ioc_zpow 📋 Mathlib.Algebra.Order.Archimedean.Basic
{K : Type u_4} [Semifield K] [LinearOrder K] [IsStrictOrderedRing K] [Archimedean K] {x y : K} [ExistsAddOfLE K] (hx : 0 < x) (hy : 1 < y) : ∃ n, x ∈ Set.Ioc (y ^ n) (y ^ (n + 1)) - exists_zpow_btwn_of_lt_mul 📋 Mathlib.Algebra.Order.Archimedean.Basic
{K : Type u_4} [Semifield K] [LinearOrder K] [IsStrictOrderedRing K] [Archimedean K] [ExistsAddOfLE K] {a b c : K} (h : a < b * c) (hb₀ : 0 < b) (hc₀ : 0 < c) (hc₁ : c < 1) : ∃ n, a < c ^ n ∧ c ^ n < b - exists_nat_pow_near_of_lt_one 📋 Mathlib.Algebra.Order.Archimedean.Basic
{K : Type u_4} [Semifield K] [LinearOrder K] [IsStrictOrderedRing K] [Archimedean K] {x y : K} [ExistsAddOfLE K] (xpos : 0 < x) (hx : x ≤ 1) (ypos : 0 < y) (hy : y < 1) : ∃ n, y ^ (n + 1) < x ∧ x ≤ y ^ n - exists_pow_btwn_of_lt_mul 📋 Mathlib.Algebra.Order.Archimedean.Basic
{K : Type u_4} [Semifield K] [LinearOrder K] [IsStrictOrderedRing K] [Archimedean K] [ExistsAddOfLE K] {a b c : K} (h : a < b * c) (hb₀ : 0 < b) (hb₁ : b ≤ 1) (hc₀ : 0 < c) (hc₁ : c < 1) : ∃ n, a < c ^ n ∧ c ^ n < b - Multiset.instExistsAddOfLE 📋 Mathlib.Algebra.Order.Group.Multiset
{α : Type u_1} : ExistsAddOfLE (Multiset α) - Multiset.sum_map_tsub 📋 Mathlib.Algebra.BigOperators.Group.Multiset.Basic
{ι : Type u_2} {M : Type u_5} [AddCommMonoid M] [PartialOrder M] [ExistsAddOfLE M] [AddLeftMono M] [AddLeftReflectLE M] [Sub M] [OrderedSub M] (l : Multiset ι) {f g : ι → M} (hfg : ∀ x ∈ l, g x ≤ f x) : (Multiset.map (fun x => f x - g x) l).sum = (Multiset.map f l).sum - (Multiset.map g l).sum - Finset.sum_range_tsub 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{M : Type u_4} [AddCommMonoid M] [PartialOrder M] [Sub M] [OrderedSub M] [AddLeftMono M] [AddLeftReflectLE M] [ExistsAddOfLE M] {f : ℕ → M} (h : Monotone f) (n : ℕ) : ∑ i ∈ Finset.range n, (f (i + 1) - f i) = f n - f 0 - Finset.sum_tsub_distrib 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} {M : Type u_4} [AddCommMonoid M] [PartialOrder M] [Sub M] [OrderedSub M] [AddLeftMono M] [AddLeftReflectLE M] [ExistsAddOfLE M] (s : Finset ι) {f g : ι → M} (hfg : ∀ x ∈ s, g x ≤ f x) : ∑ x ∈ s, (f x - g x) = ∑ x ∈ s, f x - ∑ x ∈ s, g x - AbsoluteValue.IsNontrivial.exists_abv_gt_one 📋 Mathlib.Algebra.Order.AbsoluteValue.Basic
{R : Type u_2} {S : Type u_3} [Field R] [Semifield S] [LinearOrder S] [IsStrictOrderedRing S] [ExistsAddOfLE S] {v : AbsoluteValue R S} (h : v.IsNontrivial) : ∃ x, 1 < v x - AbsoluteValue.IsNontrivial.exists_abv_lt_one 📋 Mathlib.Algebra.Order.AbsoluteValue.Basic
{R : Type u_2} {S : Type u_3} [Field R] [Semifield S] [LinearOrder S] [IsStrictOrderedRing S] [ExistsAddOfLE S] {v : AbsoluteValue R S} (h : v.IsNontrivial) : ∃ x, x ≠ 0 ∧ v x < 1
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. You can also try the
#loogle command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
🔍Real.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
🔍"differ"
finds all lemmas that have"differ"somewhere in their lemma name.By subexpression:
🔍_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
🔍Real.sqrt ?a * Real.sqrt ?aIf the pattern has parameters, they are matched in any order. Both of these will find
List.map:
🔍(?a -> ?b) -> List ?a -> List ?b
🔍List ?a -> (?a -> ?b) -> List ?bBy main conclusion:
🔍|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of all→and∀) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
🔍|- _ < _ → tsum _ < tsum _
will findtsum_lt_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
🔍 Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ → _
would find all lemmas which mention the constants Real.sin
and tsum, have "two" as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _ (if
there were any such lemmas). Metavariables (?a) are
assigned independently in each filter.
The #lucky button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c