Loogle!
Result
Found 2828 definitions mentioning HMul.hMul and HPow.hPow. Of these, 1319 match your pattern(s). Of these, only the first 200 are shown.
- Nat.shiftLeft_eq π Init.Data.Nat.Bitwise.Basic
(a b : β) : a <<< b = a * 2 ^ b - Nat.pow_succ' π Init.Data.Nat.Lemmas
{m n : β} : m ^ n.succ = m * m ^ n - Nat.pow_add_one' π Init.Data.Nat.Lemmas
{m n : β} : m ^ (n + 1) = m * m ^ n - Nat.mul_pow π Init.Data.Nat.Lemmas
(a b n : β) : (a * b) ^ n = a ^ n * b ^ n - Nat.pow_add π Init.Data.Nat.Lemmas
(a m n : β) : a ^ (m + n) = a ^ m * a ^ n - Nat.pow_add' π Init.Data.Nat.Lemmas
(a m n : β) : a ^ (m + n) = a ^ n * a ^ m - Nat.pow_sub_mul_pow π Init.Data.Nat.Lemmas
(a : β) {m n : β} (h : m β€ n) : a ^ (n - m) * a ^ m = a ^ n - Int.pow_succ' π Init.Data.Int.Pow
(b : β€) (e : β) : b ^ (e + 1) = b * b ^ e - Rat.ofScientific_false_def π Batteries.Data.Rat.Lemmas
{m e : β} : Rat.ofScientific m false e = β(m * 10 ^ e) - Rat.ofScientific_def π Batteries.Data.Rat.Lemmas
{m : β} {s : Bool} {e : β} : Rat.ofScientific m s e = if s = true then mkRat (βm) (10 ^ e) else β(m * 10 ^ e) - pow_mul_comm' π Mathlib.Algebra.Group.Defs
{M : Type u_2} [Monoid M] (a : M) (n : β) : a ^ n * a = a * a ^ n - pow_succ' π Mathlib.Algebra.Group.Defs
{M : Type u_2} [Monoid M] (a : M) (n : β) : a ^ (n + 1) = a * a ^ n - pow_add π Mathlib.Algebra.Group.Defs
{M : Type u_2} [Monoid M] (a : M) (m n : β) : a ^ (m + n) = a ^ m * a ^ n - pow_mul_comm π Mathlib.Algebra.Group.Defs
{M : Type u_2} [Monoid M] (a : M) (m n : β) : a ^ m * a ^ n = a ^ n * a ^ m - Commute.mul_pow π Mathlib.Algebra.Group.Commute.Defs
{M : Type u_2} [Monoid M] {a b : M} (h : Commute a b) (n : β) : (a * b) ^ n = a ^ n * b ^ n - Commute.mul_zpow π Mathlib.Algebra.Group.Commute.Defs
{G : Type u_1} [DivisionMonoid G] {a b : G} (h : Commute a b) (n : β€) : (a * b) ^ n = a ^ n * b ^ n - Nat.mul_lt_mul_pow_succ π Mathlib.Data.Nat.Defs
{a b n : β} (ha : 0 < a) (hb : 1 < b) : n * b < a * b ^ (n + 1) - mul_pow_sub_one π Mathlib.Algebra.Group.Basic
{M : Type u_4} [Monoid M] {n : β} (hn : n β 0) (a : M) : a * a ^ (n - 1) = a ^ n - mul_self_zpow π Mathlib.Algebra.Group.Basic
{G : Type u_3} [Group G] (a : G) (n : β€) : a * a ^ n = a ^ (n + 1) - zpow_one_add π Mathlib.Algebra.Group.Basic
{G : Type u_3} [Group G] (a : G) (n : β€) : a ^ (1 + n) = a * a ^ n - pow_mul_pow_sub π Mathlib.Algebra.Group.Basic
{M : Type u_4} [Monoid M] {m n : β} (a : M) (h : m β€ n) : a ^ m * a ^ (n - m) = a ^ n - pow_sub_mul_pow π Mathlib.Algebra.Group.Basic
{M : Type u_4} [Monoid M] {m n : β} (a : M) (h : m β€ n) : a ^ (n - m) * a ^ m = a ^ n - zpow_add π Mathlib.Algebra.Group.Basic
{G : Type u_3} [Group G] (a : G) (m n : β€) : a ^ (m + n) = a ^ m * a ^ n - pow_mul_pow_eq_one π Mathlib.Algebra.Group.Basic
{M : Type u_4} [Monoid M] {a b : M} (n : β) : a * b = 1 β a ^ n * b ^ n = 1 - mul_pow π Mathlib.Algebra.Group.Basic
{M : Type u_4} [CommMonoid M] (a b : M) (n : β) : (a * b) ^ n = a ^ n * b ^ n - mul_zpow π Mathlib.Algebra.Group.Basic
{Ξ± : Type u_1} [DivisionCommMonoid Ξ±] (a b : Ξ±) (n : β€) : (a * b) ^ n = a ^ n * b ^ n - zpow_mul_comm π Mathlib.Algebra.Group.Basic
{G : Type u_3} [Group G] (a : G) (m n : β€) : a ^ m * a ^ n = a ^ n * a ^ m - mul_zpow_neg_one π Mathlib.Algebra.Group.Basic
{Ξ± : Type u_1} [DivisionMonoid Ξ±] (a b : Ξ±) : (a * b) ^ (-1) = b ^ (-1) * a ^ (-1) - inv_pow_sub π Mathlib.Algebra.Group.Basic
{G : Type u_3} [Group G] (a : G) {m n : β} (h : n β€ m) : aβ»ΒΉ ^ (m - n) = (a ^ m)β»ΒΉ * a ^ n - mul_right_iterate π Mathlib.Algebra.GroupPower.IterateHom
{G : Type u_2} [Monoid G] (a : G) (n : β) : (fun x => x * a)^[n] = fun x => x * a ^ n - zpow_one_addβ π Mathlib.Algebra.GroupWithZero.Basic
{Gβ : Type u_2} [GroupWithZero Gβ] {a : Gβ} (h : a β 0) (i : β€) : a ^ (1 + i) = a * a ^ i - zpow_addβ π Mathlib.Algebra.GroupWithZero.Basic
{Gβ : Type u_2} [GroupWithZero Gβ] {a : Gβ} (ha : a β 0) (m n : β€) : a ^ (m + n) = a ^ m * a ^ n - zpow_add' π Mathlib.Algebra.GroupWithZero.Basic
{Gβ : Type u_2} [GroupWithZero Gβ] {a : Gβ} {m n : β€} (h : a β 0 β¨ m + n β 0 β¨ m = 0 β§ n = 0) : a ^ (m + n) = a ^ m * a ^ n - zpow_neg_mul_zpow_self π Mathlib.Algebra.GroupWithZero.Units.Basic
{Gβ : Type u_3} [GroupWithZero Gβ] {a : Gβ} (n : β€) (ha : a β 0) : a ^ (-n) * a ^ n = 1 - inv_pow_sub_of_lt π Mathlib.Algebra.GroupWithZero.Units.Basic
{Gβ : Type u_3} [GroupWithZero Gβ] {m n : β} (a : Gβ) (h : n < m) : aβ»ΒΉ ^ (m - n) = (a ^ m)β»ΒΉ * a ^ n - inv_pow_subβ π Mathlib.Algebra.GroupWithZero.Units.Basic
{Gβ : Type u_3} [GroupWithZero Gβ] {a : Gβ} {m n : β} (ha : a β 0) (h : n β€ m) : aβ»ΒΉ ^ (m - n) = (a ^ m)β»ΒΉ * a ^ n - Units.conj_pow π Mathlib.Algebra.Group.Semiconj.Units
{M : Type u_1} [Monoid M] (u : MΛ£) (x : M) (n : β) : (βu * x * βuβ»ΒΉ) ^ n = βu * x ^ n * βuβ»ΒΉ - Units.conj_pow' π Mathlib.Algebra.Group.Semiconj.Units
{M : Type u_1} [Monoid M] (u : MΛ£) (x : M) (n : β) : (βuβ»ΒΉ * x * βu) ^ n = βuβ»ΒΉ * x ^ n * βu - pow_inv_commβ π Mathlib.Algebra.GroupWithZero.Commute
{Gβ : Type u_2} [GroupWithZero Gβ] (a : Gβ) (m n : β) : aβ»ΒΉ ^ m * a ^ n = a ^ n * aβ»ΒΉ ^ m - mul_neg_one_pow_eq_zero_iff π Mathlib.Algebra.Ring.Commute
{R : Type u} [Ring R] {a : R} {n : β} : a * (-1) ^ n = 0 β a = 0 - neg_pow π Mathlib.Algebra.Ring.Commute
{R : Type u} [Monoid R] [HasDistribNeg R] (a : R) (n : β) : (-a) ^ n = (-1) ^ n * a ^ n - neg_pow' π Mathlib.Algebra.Ring.Commute
{R : Type u} [Monoid R] [HasDistribNeg R] (a : R) (n : β) : (-a) ^ n = a ^ n * (-1) ^ n - sign_cases_of_C_mul_pow_nonneg π Mathlib.Algebra.Order.Ring.Unbundled.Basic
{Ξ± : Type u} [Semiring Ξ±] [LinearOrder Ξ±] {a b : Ξ±} [PosMulStrictMono Ξ±] (h : β (n : β), 0 β€ a * b ^ n) : a = 0 β¨ 0 < a β§ 0 β€ b - Nat.two_mul_sq_add_one_le_two_pow_two_mul π Mathlib.Data.Nat.Cast.Order.Ring
(k : β) : 2 * k ^ 2 + 1 β€ 2 ^ (2 * k) - Set.pairwise_disjoint_Ico_mul_zpow π Mathlib.Algebra.Order.Interval.Set.Group
{Ξ± : Type u_1} [OrderedCommGroup Ξ±] (a b : Ξ±) : Pairwise (Disjoint on fun n => Set.Ico (a * b ^ n) (a * b ^ (n + 1))) - Set.pairwise_disjoint_Ioc_mul_zpow π Mathlib.Algebra.Order.Interval.Set.Group
{Ξ± : Type u_1} [OrderedCommGroup Ξ±] (a b : Ξ±) : Pairwise (Disjoint on fun n => Set.Ioc (a * b ^ n) (a * b ^ (n + 1))) - Set.pairwise_disjoint_Ioo_mul_zpow π Mathlib.Algebra.Order.Interval.Set.Group
{Ξ± : Type u_1} [OrderedCommGroup Ξ±] (a b : Ξ±) : Pairwise (Disjoint on fun n => Set.Ioo (a * b ^ n) (a * b ^ (n + 1))) - Nat.and_two_pow π Mathlib.Data.Nat.Bitwise
(n i : β) : n &&& 2 ^ i = (n.testBit i).toNat * 2 ^ i - Nat.shiftLeft_eq_mul_pow π Mathlib.Data.Nat.Size
(m n : β) : m <<< n = m * 2 ^ n - Nat.shiftLeft'_tt_eq_mul_pow π Mathlib.Data.Nat.Size
(m n : β) : Nat.shiftLeft' true m n + 1 = (m + 1) * 2 ^ n - pow_add_pow_le' π Mathlib.Algebra.Order.Ring.Basic
{R : Type u_3} [OrderedSemiring R] {a b : R} {n : β} (ha : 0 β€ a) (hb : 0 β€ b) : a ^ n + b ^ n β€ 2 * (a + b) ^ n - CancelDenoms.pow_subst π Mathlib.Tactic.CancelDenoms.Core
{Ξ± : Type u_1} [CommRing Ξ±] {n e1 t1 k l : Ξ±} {e2 : β} (h1 : n * e1 = t1) (h2 : l * n ^ e2 = k) : k * e1 ^ e2 = l * t1 ^ e2 - Rat.ofScientific.eq_1 π Mathlib.Algebra.Order.Ring.Unbundled.Rat
(m : β) (s : Bool) (e : β) : Rat.ofScientific m s e = if s = true then Rat.normalize (βm) (10 ^ e) β― else β(m * 10 ^ e) - pow_inv_comm π Mathlib.Algebra.Group.Commute.Basic
{G : Type u_1} [Group G] (a : G) (m n : β) : aβ»ΒΉ ^ m * a ^ n = a ^ n * aβ»ΒΉ ^ m - Nat.factorial_mul_pow_sub_le_factorial π Mathlib.Data.Nat.Factorial.Basic
{n m : β} (hnm : n β€ m) : n.factorial * n ^ (m - n) β€ m.factorial - Nat.factorial_mul_pow_le_factorial π Mathlib.Data.Nat.Factorial.Basic
{m n : β} : m.factorial * (m + 1) ^ n β€ (m + n).factorial - existsUnique_add_zpow_mem_Ioc π Mathlib.Algebra.Order.Archimedean.Basic
{Ξ± : Type u_1} [LinearOrderedCommGroup Ξ±] [MulArchimedean Ξ±] {a : Ξ±} (ha : 1 < a) (b c : Ξ±) : β! m, b * a ^ m β Set.Ioc c (c * a) - existsUnique_mul_zpow_mem_Ico π Mathlib.Algebra.Order.Archimedean.Basic
{Ξ± : Type u_1} [LinearOrderedCommGroup Ξ±] [MulArchimedean Ξ±] {a : Ξ±} (ha : 1 < a) (b c : Ξ±) : β! m, b * a ^ m β Set.Ico c (c * a) - List.alternatingProd_append π Mathlib.Algebra.BigOperators.Group.List
{Ξ± : Type u_2} [CommGroup Ξ±] (lβ lβ : List Ξ±) : (lβ ++ lβ).alternatingProd = lβ.alternatingProd * lβ.alternatingProd ^ (-1) ^ lβ.length - Finset.prod_mul_pow_card π Mathlib.Algebra.BigOperators.Group.Finset
{Ξ± : Type u_3} {Ξ² : Type u_4} {s : Finset Ξ±} {f : Ξ± β Ξ²} [CommMonoid Ξ²] {b : Ξ²} : (β a β s, f a) * b ^ s.card = β a β s, f a * b - Submonoid.mem_closure_pair π Mathlib.Algebra.Group.Submonoid.Membership
{A : Type u_4} [CommMonoid A] (a b c : A) : c β Submonoid.closure {a, b} β β m n, a ^ m * b ^ n = c - conj_zpow π Mathlib.Algebra.Group.Conj
{Ξ± : Type u} [Group Ξ±] {i : β€} {a b : Ξ±} : (a * b * aβ»ΒΉ) ^ i = a * b ^ i * aβ»ΒΉ - conj_pow π Mathlib.Algebra.Group.Conj
{Ξ± : Type u} [Group Ξ±] {i : β} {a b : Ξ±} : (a * b * aβ»ΒΉ) ^ i = a * b ^ i * aβ»ΒΉ - Subgroup.mem_closure_pair π Mathlib.Algebra.Group.Subgroup.Basic
{C : Type u_6} [CommGroup C] {x y z : C} : z β Subgroup.closure {x, y} β β m n, x ^ m * y ^ n = z - Algebra.mul_sub_algebraMap_pow_commutes π Mathlib.Algebra.Algebra.Basic
{R : Type u} {A : Type w} [CommSemiring R] [Ring A] [Algebra R A] (x : A) (r : R) (n : β) : x * (x - (algebraMap R A) r) ^ n = (x - (algebraMap R A) r) ^ n * x - Finset.sum_pow_mul_eq_add_pow π Mathlib.Algebra.BigOperators.Ring
{ΞΉ : Type u_1} {Ξ± : Type u_3} [CommSemiring Ξ±] (a b : Ξ±) (s : Finset ΞΉ) : β t β s.powerset, a ^ t.card * b ^ (s.card - t.card) = (a + b) ^ s.card - Fintype.sum_pow_mul_eq_add_pow π Mathlib.Algebra.BigOperators.Ring
{Ξ± : Type u_3} [CommSemiring Ξ±] (ΞΉ : Type u_7) [Fintype ΞΉ] (a b : Ξ±) : β s : Finset ΞΉ, a ^ s.card * b ^ (Fintype.card ΞΉ - s.card) = (a + b) ^ Fintype.card ΞΉ - finFunctionFinEquiv_apply π Mathlib.Algebra.BigOperators.Fin
{m n : β} (f : Fin n β Fin m) : β(finFunctionFinEquiv f) = β i : Fin n, β(f i) * m ^ βi - finFunctionFinEquiv_apply_val π Mathlib.Algebra.BigOperators.Fin
{m n : β} (f : Fin n β Fin m) : β(finFunctionFinEquiv f) = β i : Fin n, β(f i) * m ^ βi - finFunctionFinEquiv_single π Mathlib.Algebra.BigOperators.Fin
{m n : β} [NeZero m] (i : Fin n) (j : Fin m) : β(finFunctionFinEquiv (Pi.single i j)) = βj * m ^ βi - Fin.sum_pow_mul_eq_add_pow π Mathlib.Algebra.BigOperators.Fin
{n : β} {R : Type u_3} [CommSemiring R] (a b : R) : β s : Finset (Fin n), a ^ s.card * b ^ (n - s.card) = (a + b) ^ n - Prime.dvd_of_pow_dvd_pow_mul_pow_of_square_not_dvd π Mathlib.Algebra.Prime.Lemmas
{M : Type u_1} [CancelCommMonoidWithZero M] {p a b : M} {n : β} (hp : Prime p) (hpow : p ^ n.succ β£ a ^ n.succ * b ^ n) (hb : Β¬p ^ 2 β£ b) : p β£ a - Submodule.pow_induction_on_left' π Mathlib.Algebra.Algebra.Operations
{R : Type u} [CommSemiring R] {A : Type v} [Semiring A] [Algebra R A] (M : Submodule R A) {C : (n : β) β (x : A) β x β M ^ n β Prop} (algebraMap : β (r : R), C 0 ((algebraMap R A) r) β―) (add : β (x y : A) (i : β) (hx : x β M ^ i) (hy : y β M ^ i), C i x hx β C i y hy β C i (x + y) β―) (mem_mul : β (m : A) (hm : m β M) (i : β) (x : A) (hx : x β M ^ i), C i x hx β C i.succ (m * x) β―) {n : β} {x : A} (hx : x β M ^ n) : C n x hx - Commute.add_pow' π Mathlib.Data.Nat.Choose.Sum
{R : Type u_1} [Semiring R] {x y : R} (h : Commute x y) (n : β) : (x + y) ^ n = β m β Finset.antidiagonal n, n.choose m.1 β’ (x ^ m.1 * y ^ m.2) - Commute.add_pow π Mathlib.Data.Nat.Choose.Sum
{R : Type u_1} [Semiring R] {x y : R} (h : Commute x y) (n : β) : (x + y) ^ n = β m β Finset.range (n + 1), x ^ m * y ^ (n - m) * β(n.choose m) - add_pow π Mathlib.Data.Nat.Choose.Sum
{R : Type u_1} [CommSemiring R] (x y : R) (n : β) : (x + y) ^ n = β m β Finset.range (n + 1), x ^ m * y ^ (n - m) * β(n.choose m) - sub_pow π Mathlib.Data.Nat.Choose.Sum
{R : Type u_1} [CommRing R] (x y : R) (n : β) : (x - y) ^ n = β m β Finset.range (n + 1), (-1) ^ (m + n) * x ^ m * y ^ (n - m) * β(n.choose m) - Cardinal.mul_power π Mathlib.SetTheory.Cardinal.Basic
{a b c : Cardinal.{u_1}} : (a * b) ^ c = a ^ c * b ^ c - Cardinal.power_add π Mathlib.SetTheory.Cardinal.Basic
(a b c : Cardinal.{u_1}) : a ^ (b + c) = a ^ b * a ^ c - Ordinal.opow_one_add π Mathlib.SetTheory.Ordinal.Exponential
(a b : Ordinal.{u_1}) : a ^ (1 + b) = a * a ^ b - Ordinal.opow_add π Mathlib.SetTheory.Ordinal.Exponential
(a b c : Ordinal.{u_1}) : a ^ (b + c) = a ^ b * a ^ c - Ordinal.mul_omega0_opow_opow π Mathlib.SetTheory.Ordinal.Principal
{a b : Ordinal.{u}} (a0 : 0 < a) (h : a < Ordinal.omega0 ^ Ordinal.omega0 ^ b) : a * Ordinal.omega0 ^ Ordinal.omega0 ^ b = Ordinal.omega0 ^ Ordinal.omega0 ^ b - Ordinal.mul_omega_opow_opow π Mathlib.SetTheory.Ordinal.Principal
{a b : Ordinal.{u}} (a0 : 0 < a) (h : a < Ordinal.omega0 ^ Ordinal.omega0 ^ b) : a * Ordinal.omega0 ^ Ordinal.omega0 ^ b = Ordinal.omega0 ^ Ordinal.omega0 ^ b - Nat.exists_mul_pow_lt_factorial π Mathlib.Order.Filter.AtTopBot
(a c : β) : β n0, β n β₯ n0, a * c ^ n < (n - 1).factorial - Nat.eventually_mul_pow_lt_factorial_sub π Mathlib.Order.Filter.AtTopBot
(a c d : β) : βαΆ (n : β) in Filter.atTop, a * c ^ n < (n - d).factorial - Mathlib.Tactic.Group.zpow_trick_one π Mathlib.Tactic.Group
{G : Type u_1} [Group G] (a b : G) (m : β€) : a * b * b ^ m = a * b ^ (m + 1) - Mathlib.Tactic.Group.zpow_trick_one' π Mathlib.Tactic.Group
{G : Type u_1} [Group G] (a b : G) (n : β€) : a * b ^ n * b = a * b ^ (n + 1) - Mathlib.Tactic.Group.zpow_trick π Mathlib.Tactic.Group
{G : Type u_1} [Group G] (a b : G) (n m : β€) : a * b ^ n * b ^ m = a * b ^ (n + m) - QuotientGroup.out'_conj_pow_minimalPeriod_mem π Mathlib.GroupTheory.GroupAction.Quotient
{Ξ± : Type u} [Group Ξ±] (H : Subgroup Ξ±) (a : Ξ±) (q : Ξ± β§Έ H) : (Quotient.out q)β»ΒΉ * a ^ Function.minimalPeriod (fun x => a β’ x) q * Quotient.out q β H - QuotientGroup.out_conj_pow_minimalPeriod_mem π Mathlib.GroupTheory.GroupAction.Quotient
{Ξ± : Type u} [Group Ξ±] (H : Subgroup Ξ±) (a : Ξ±) (q : Ξ± β§Έ H) : (Quotient.out q)β»ΒΉ * a ^ Function.minimalPeriod (fun x => a β’ x) q * Quotient.out q β H - npow_add π Mathlib.Algebra.Group.NatPowAssoc
{M : Type u_1} [MulOneClass M] [Pow M β] [NatPowAssoc M] (k n : β) (x : M) : x ^ (k + n) = x ^ k * x ^ n - NatPowAssoc.npow_add π Mathlib.Algebra.Group.NatPowAssoc
{M : Type u_2} {instβ : MulOneClass M} {instβΒΉ : Pow M β} [self : NatPowAssoc M] (k n : β) (x : M) : x ^ (k + n) = x ^ k * x ^ n - npow_mul_comm π Mathlib.Algebra.Group.NatPowAssoc
{M : Type u_1} [MulOneClass M] [Pow M β] [NatPowAssoc M] (m n : β) (x : M) : x ^ m * x ^ n = x ^ n * x ^ m - NatPowAssoc.mk π Mathlib.Algebra.Group.NatPowAssoc
{M : Type u_2} [MulOneClass M] [Pow M β] (npow_add : β (k n : β) (x : M), x ^ (k + n) = x ^ k * x ^ n) (npow_zero : β (x : M), x ^ 0 = 1) (npow_one : β (x : M), x ^ 1 = x) : NatPowAssoc M - npow_mul_assoc π Mathlib.Algebra.Group.NatPowAssoc
{M : Type u_1} [MulOneClass M] [Pow M β] [NatPowAssoc M] (k m n : β) (x : M) : x ^ k * x ^ m * x ^ n = x ^ k * (x ^ m * x ^ n) - geom_sumβ_with_one π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Semiring Ξ±] (x : Ξ±) (n : β) : β i β Finset.range n, x ^ i * 1 ^ (n - 1 - i) = β i β Finset.range n, x ^ i - geom_sumβ_self π Mathlib.Algebra.GeomSum
{Ξ± : Type u_1} [CommRing Ξ±] (x : Ξ±) (n : β) : β i β Finset.range n, x ^ i * x ^ (n - 1 - i) = βn * x ^ (n - 1) - Commute.geom_sumβ_mul π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Ring Ξ±] {x y : Ξ±} (h : Commute x y) (n : β) : (β i β Finset.range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n - Commute.mul_geom_sumβ π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Ring Ξ±] {x y : Ξ±} (h : Commute x y) (n : β) : (x - y) * β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = x ^ n - y ^ n - Commute.mul_neg_geom_sumβ π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Ring Ξ±] {x y : Ξ±} (h : Commute x y) (n : β) : (y - x) * β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = y ^ n - x ^ n - Commute.geom_sumβ_comm π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Semiring Ξ±] {x y : Ξ±} (n : β) (h : Commute x y) : β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = β i β Finset.range n, y ^ i * x ^ (n - 1 - i) - geom_sumβ_mul π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommRing Ξ±] (x y : Ξ±) (n : β) : (β i β Finset.range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n - geom_sumβ_comm π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommSemiring Ξ±] (x y : Ξ±) (n : β) : β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = β i β Finset.range n, y ^ i * x ^ (n - 1 - i) - Commute.geom_sumβ π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [DivisionRing Ξ±] {x y : Ξ±} (h' : Commute x y) (h : x β y) (n : β) : β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y) - Commute.geom_sumβ_mul_add π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Semiring Ξ±] {x y : Ξ±} (h : Commute x y) (n : β) : (β i β Finset.range n, (x + y) ^ i * y ^ (n - 1 - i)) * x + y ^ n = (x + y) ^ n - geomβ_sum π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Field Ξ±] {x y : Ξ±} (h : x β y) (n : β) : β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y) - geom_sumβ_mul_add π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommSemiring Ξ±] (x y : Ξ±) (n : β) : (β i β Finset.range n, (x + y) ^ i * y ^ (n - 1 - i)) * x + y ^ n = (x + y) ^ n - op_geom_sumβ π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Semiring Ξ±] (x y : Ξ±) (n : β) : β i β Finset.range n, MulOpposite.op y ^ (n - 1 - i) * MulOpposite.op x ^ i = β i β Finset.range n, MulOpposite.op y ^ i * MulOpposite.op x ^ (n - 1 - i) - Commute.geom_sumβ_Ico_mul π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Ring Ξ±] {x y : Ξ±} (h : Commute x y) {m n : β} (hmn : m β€ n) : (β i β Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ (n - m) * x ^ m - Commute.mul_geom_sumβ_Ico π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Ring Ξ±] {x y : Ξ±} (h : Commute x y) {m n : β} (hmn : m β€ n) : (x - y) * β i β Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = x ^ n - x ^ m * y ^ (n - m) - mul_geom_sumβ_Ico π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommRing Ξ±] (x y : Ξ±) {m n : β} (hmn : m β€ n) : (x - y) * β i β Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = x ^ n - x ^ m * y ^ (n - m) - Commute.geom_sumβ_succ_eq π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Ring Ξ±] {x y : Ξ±} (h : Commute x y) {n : β} : β i β Finset.range (n + 1), x ^ i * y ^ (n - i) = x ^ n + y * β i β Finset.range n, x ^ i * y ^ (n - 1 - i) - geomβ_sum_of_gt π Mathlib.Algebra.GeomSum
{Ξ± : Type u_1} [CanonicallyLinearOrderedSemifield Ξ±] [Sub Ξ±] [OrderedSub Ξ±] {x y : Ξ±} (h : y < x) (n : β) : β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y) - geomβ_sum_of_lt π Mathlib.Algebra.GeomSum
{Ξ± : Type u_1} [CanonicallyLinearOrderedSemifield Ξ±] [Sub Ξ±] [OrderedSub Ξ±] {x y : Ξ±} (h : x < y) (n : β) : β i β Finset.range n, x ^ i * y ^ (n - 1 - i) = (y ^ n - x ^ n) / (y - x) - RingHom.map_geom_sumβ π Mathlib.Algebra.GeomSum
{Ξ± : Type u} {Ξ² : Type u_1} [Semiring Ξ±] [Semiring Ξ²] (x y : Ξ±) (n : β) (f : Ξ± β+* Ξ²) : f (β i β Finset.range n, x ^ i * y ^ (n - 1 - i)) = β i β Finset.range n, f x ^ i * f y ^ (n - 1 - i) - geom_sumβ_mul_of_ge π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommSemiring Ξ±] [PartialOrder Ξ±] [AddLeftReflectLE Ξ±] [AddLeftMono Ξ±] [ExistsAddOfLE Ξ±] [Sub Ξ±] [OrderedSub Ξ±] {x y : Ξ±} (hxy : y β€ x) (n : β) : (β i β Finset.range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n - geom_sumβ_mul_of_le π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommSemiring Ξ±] [PartialOrder Ξ±] [AddLeftReflectLE Ξ±] [AddLeftMono Ξ±] [ExistsAddOfLE Ξ±] [Sub Ξ±] [OrderedSub Ξ±] {x y : Ξ±} (hxy : x β€ y) (n : β) : (β i β Finset.range n, x ^ i * y ^ (n - 1 - i)) * (y - x) = y ^ n - x ^ n - geom_sumβ_succ_eq π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [CommRing Ξ±] (x y : Ξ±) {n : β} : β i β Finset.range (n + 1), x ^ i * y ^ (n - i) = x ^ n + y * β i β Finset.range n, x ^ i * y ^ (n - 1 - i) - Commute.geom_sumβ_Ico π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [DivisionRing Ξ±] {x y : Ξ±} (h : Commute x y) (hxy : x β y) {m n : β} (hmn : m β€ n) : β i β Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ (n - m) * x ^ m) / (x - y) - geom_sumβ_Ico π Mathlib.Algebra.GeomSum
{Ξ± : Type u} [Field Ξ±] {x y : Ξ±} (hxy : x β y) {m n : β} (hmn : m β€ n) : β i β Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ (n - m) * x ^ m) / (x - y) - Nat.ofDigits_eq_sum_mapIdx π Mathlib.Data.Nat.Digits
(b : β) (L : List β) : Nat.ofDigits b L = (List.mapIdx (fun i a => a * b ^ i) L).sum - Nat.ofDigits_eq_sum_map_with_index_aux π Mathlib.Data.Nat.Digits
(b : β) (l : List β) : (List.zipWith (fun i a => a * b ^ (i + 1)) (List.range l.length) l).sum = b * (List.zipWith (fun i a => a * b ^ i) (List.range l.length) l).sum - sub_pow_eq_mul_pow_sub_pow_div_expChar_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Ring R] {x y : R} (p n : β) [hR : ExpChar R p] (h : Commute x y) : (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) - sub_pow_eq_mul_pow_sub_pow_div_char_of_commute π Mathlib.Algebra.CharP.Lemmas
(R : Type u_1) [Ring R] {x y : R} (p n : β) [hp : Fact (Nat.Prime p)] [CharP R p] (h : Commute x y) : (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) - sub_pow_eq_mul_pow_sub_pow_div_expChar π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommRing R] (x y : R) (n : β) {p : β} [hR : ExpChar R p] : (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) - add_pow_eq_mul_pow_add_pow_div_expChar_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {x y : R} (p n : β) [hR : ExpChar R p] (h : Commute x y) : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - sub_pow_eq_mul_pow_sub_pow_div_char π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommRing R] (x y : R) (n : β) {p : β} [hp : Fact (Nat.Prime p)] [CharP R p] : (x - y) ^ n = (x - y) ^ (n % p) * (x ^ p - y ^ p) ^ (n / p) - add_pow_eq_mul_pow_add_pow_div_char_of_commute π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {x y : R} (p n : β) [hp : Fact (Nat.Prime p)] [CharP R p] (h : Commute x y) : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - add_pow_eq_mul_pow_add_pow_div_expChar π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] (x y : R) (p n : β) [hR : ExpChar R p] : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - add_pow_eq_add_pow_mod_mul_pow_add_pow_div π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] (x y : R) (p n : β) [hp : Fact (Nat.Prime p)] [CharP R p] : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - add_pow_eq_mul_pow_add_pow_div_char π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] (x y : R) (p n : β) [hp : Fact (Nat.Prime p)] [CharP R p] : (x + y) ^ n = (x + y) ^ (n % p) * (x ^ p + y ^ p) ^ (n / p) - Commute.add_pow_prime_eq π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {p : β} (hp : Nat.Prime p) {x y : R} (h : Commute x y) : (x + y) ^ p = x ^ p + y ^ p + βp * β k β Finset.Ioo 0 p, x ^ k * y ^ (p - k) * β(p.choose k / p) - add_pow_prime_eq π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] {p : β} (hp : Nat.Prime p) (x y : R) : (x + y) ^ p = x ^ p + y ^ p + βp * β k β Finset.Ioo 0 p, x ^ k * y ^ (p - k) * β(p.choose k / p) - Commute.add_pow_prime_pow_eq π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [Semiring R] {p : β} (hp : Nat.Prime p) {x y : R} (h : Commute x y) (n : β) : (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n + βp * β k β Finset.Ioo 0 (p ^ n), x ^ k * y ^ (p ^ n - k) * β((p ^ n).choose k / p) - add_pow_prime_pow_eq π Mathlib.Algebra.CharP.Lemmas
{R : Type u_1} [CommSemiring R] {p : β} (hp : Nat.Prime p) (x y : R) (n : β) : (x + y) ^ p ^ n = x ^ p ^ n + y ^ p ^ n + βp * β k β Finset.Ioo 0 (p ^ n), x ^ k * y ^ (p ^ n - k) * β((p ^ n).choose k / p) - Nat.ordProj_mul π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (p : β) (ha : a β 0) (hb : b β 0) : p ^ (a * b).factorization p = p ^ a.factorization p * p ^ b.factorization p - Nat.ord_proj_mul π Mathlib.Data.Nat.Factorization.Basic
{a b : β} (p : β) (ha : a β 0) (hb : b β 0) : p ^ (a * b).factorization p = p ^ a.factorization p * p ^ b.factorization p - uzpow_add π Mathlib.Data.ZMod.IntUnitsPower
{R : Type u_1} [CommSemiring R] [Module R (Additive β€Λ£)] (s : β€Λ£) (x y : R) : s ^ (x + y) = s ^ x * s ^ y - mul_uzpow π Mathlib.Data.ZMod.IntUnitsPower
{R : Type u_1} [CommSemiring R] [Module R (Additive β€Λ£)] (sβ sβ : β€Λ£) (x : R) : (sβ * sβ) ^ x = sβ ^ x * sβ ^ x - prime_two_or_dvd_of_dvd_two_mul_pow_self_two π Mathlib.RingTheory.Int.Basic
{m : β€} {p : β} (hp : Nat.Prime p) (h : βp β£ 2 * m ^ 2) : p = 2 β¨ p β£ m.natAbs - Commute.orderOf_mul_pow_eq_lcm π Mathlib.GroupTheory.Exponent
{G : Type u} [Monoid G] {x y : G} (h : Commute x y) (hx : orderOf x β 0) (hy : orderOf y β 0) : orderOf (x ^ (orderOf x / (orderOf x).factorizationLCMLeft (orderOf y)) * y ^ (orderOf y / (orderOf x).factorizationLCMRight (orderOf y))) = (orderOf x).lcm (orderOf y) - MvPolynomial.C_mul_X_pow_eq_monomial π Mathlib.Algebra.MvPolynomial.Basic
{R : Type u} {Ο : Type u_1} [CommSemiring R] {s : Ο} {a : R} {n : β} : MvPolynomial.C a * MvPolynomial.X s ^ n = (MvPolynomial.monomial funβ | s => n) a - MvPolynomial.monomial_add_single π Mathlib.Algebra.MvPolynomial.Basic
{R : Type u} {Ο : Type u_1} {a : R} {e : β} {n : Ο} {s : Ο ββ β} [CommSemiring R] : (MvPolynomial.monomial (s + funβ | n => e)) a = (MvPolynomial.monomial s) a * MvPolynomial.X n ^ e - Polynomial.support_C_mul_X_pow' π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (n : β) (c : R) : (Polynomial.C c * Polynomial.X ^ n).support β {n} - Polynomial.X_pow_mul π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : Polynomial.X ^ n * p = p * Polynomial.X ^ n - Polynomial.toFinsupp_C_mul_X_pow π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (a : R) (n : β) : (Polynomial.C a * Polynomial.X ^ n).toFinsupp = funβ | n => a - Polynomial.support_C_mul_X_pow π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (n : β) {c : R} (h : c β 0) : (Polynomial.C c * Polynomial.X ^ n).support = {n} - Polynomial.sum_C_mul_X_pow_eq π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (p : Polynomial R) : (p.sum fun n a => Polynomial.C a * Polynomial.X ^ n) = p - Polynomial.X_pow_mul_assoc π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p q : Polynomial R} {n : β} : p * Polynomial.X ^ n * q = p * q * Polynomial.X ^ n - Polynomial.X_pow_mul_C π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (r : R) (n : β) : Polynomial.X ^ n * Polynomial.C r = Polynomial.C r * Polynomial.X ^ n - Polynomial.C_mul_X_pow_eq_monomial π Mathlib.Algebra.Polynomial.Basic
{R : Type u} {a : R} [Semiring R] {n : β} : Polynomial.C a * Polynomial.X ^ n = (Polynomial.monomial n) a - Polynomial.support_binomial' π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (k m : β) (x y : R) : (Polynomial.C x * Polynomial.X ^ k + Polynomial.C y * Polynomial.X ^ m).support β {k, m} - Polynomial.X_pow_mul_assoc_C π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (r : R) : p * Polynomial.X ^ n * Polynomial.C r = p * Polynomial.C r * Polynomial.X ^ n - Polynomial.monomial_mul_X_pow π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (n : β) (r : R) (k : β) : (Polynomial.monomial n) r * Polynomial.X ^ k = (Polynomial.monomial (n + k)) r - Polynomial.induction_on π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {M : Polynomial R β Prop} (p : Polynomial R) (h_C : β (a : R), M (Polynomial.C a)) (h_add : β (p q : Polynomial R), M p β M q β M (p + q)) (h_monomial : β (n : β) (a : R), M (Polynomial.C a * Polynomial.X ^ n) β M (Polynomial.C a * Polynomial.X ^ (n + 1))) : M p - Polynomial.support_trinomial' π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] (k m n : β) (x y z : R) : (Polynomial.C x * Polynomial.X ^ k + Polynomial.C y * Polynomial.X ^ m + Polynomial.C z * Polynomial.X ^ n).support β {k, m, n} - Polynomial.binomial_eq_binomial π Mathlib.Algebra.Polynomial.Basic
{R : Type u} [Semiring R] {k l m n : β} {u v : R} (hu : u β 0) (hv : v β 0) : Polynomial.C u * Polynomial.X ^ k + Polynomial.C v * Polynomial.X ^ l = Polynomial.C u * Polynomial.X ^ m + Polynomial.C v * Polynomial.X ^ n β k = m β§ l = n β¨ u = v β§ k = n β§ l = m β¨ u + v = 0 β§ k = l β§ m = n - Polynomial.eval_eq_sum π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {x : R} : Polynomial.eval x p = p.sum fun e a => a * x ^ e - Polynomial.evalβ_def π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] (f : R β+* S) (x : S) (p : Polynomial R) : Polynomial.evalβ f x p = p.sum fun e a => f a * x ^ e - Polynomial.evalβ_eq_sum π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] {p : Polynomial R} [Semiring S] {f : R β+* S} {x : S} : Polynomial.evalβ f x p = p.sum fun e a => f a * x ^ e - Polynomial.eval_mul_X_pow π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p : Polynomial R} {x : R} {k : β} : Polynomial.eval x (p * Polynomial.X ^ k) = Polynomial.eval x p * x ^ k - Polynomial.mul_X_pow_comp π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p r : Polynomial R} {k : β} : (p * Polynomial.X ^ k).comp r = p.comp r * r ^ k - Polynomial.comp_eq_sum_left π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {p q : Polynomial R} : p.comp q = p.sum fun e a => Polynomial.C a * q ^ e - Polynomial.eval_monomial π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} [Semiring R] {x : R} {n : β} {a : R} : Polynomial.eval x ((Polynomial.monomial n) a) = a * x ^ n - Polynomial.evalβ_monomial π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {S : Type v} [Semiring R] [Semiring S] (f : R β+* S) (x : S) {n : β} {r : R} : Polynomial.evalβ f x ((Polynomial.monomial n) r) = f r * x ^ n - Polynomial.monomial_comp π Mathlib.Algebra.Polynomial.Eval.Defs
{R : Type u} {a : R} [Semiring R] {p : Polynomial R} (n : β) : ((Polynomial.monomial n) a).comp p = Polynomial.C a * p ^ n - Polynomial.coeff_mul_X_pow π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) : (p * Polynomial.X ^ n).coeff (d + n) = p.coeff d - Polynomial.mul_X_pow_eq_zero π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} (H : p * Polynomial.X ^ n = 0) : p = 0 - Polynomial.coeff_mul_X_pow' π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (p : Polynomial R) (n d : β) : (p * Polynomial.X ^ n).coeff d = if n β€ d then p.coeff (d - n) else 0 - Polynomial.coeff_C_mul_X_pow π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] (x : R) (k n : β) : (Polynomial.C x * Polynomial.X ^ k).coeff n = if n = k then x else 0 - Polynomial.update_eq_add_sub_coeff π Mathlib.Algebra.Polynomial.Coeff
{R : Type u_1} [Ring R] (p : Polynomial R) (n : β) (a : R) : p.update n a = p + Polynomial.C (a - p.coeff n) * Polynomial.X ^ n - Polynomial.card_support_binomial π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {k m : β} (h : k β m) {x y : R} (hx : x β 0) (hy : y β 0) : (Polynomial.C x * Polynomial.X ^ k + Polynomial.C y * Polynomial.X ^ m).support.card = 2 - Polynomial.support_binomial π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {k m : β} (hkm : k β m) {x y : R} (hx : x β 0) (hy : y β 0) : (Polynomial.C x * Polynomial.X ^ k + Polynomial.C y * Polynomial.X ^ m).support = {k, m} - Polynomial.card_support_trinomial π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {k m n : β} (hkm : k < m) (hmn : m < n) {x y z : R} (hx : x β 0) (hy : y β 0) (hz : z β 0) : (Polynomial.C x * Polynomial.X ^ k + Polynomial.C y * Polynomial.X ^ m + Polynomial.C z * Polynomial.X ^ n).support.card = 3 - Polynomial.support_trinomial π Mathlib.Algebra.Polynomial.Coeff
{R : Type u} [Semiring R] {k m n : β} (hkm : k < m) (hmn : m < n) {x y z : R} (hx : x β 0) (hy : y β 0) (hz : z β 0) : (Polynomial.C x * Polynomial.X ^ k + Polynomial.C y * Polynomial.X ^ m + Polynomial.C z * Polynomial.X ^ n).support = {k, m, n} - Polynomial.leadingCoeff_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Definitions
{R : Type u} [Semiring R] (a : R) (n : β) : (Polynomial.C a * Polynomial.X ^ n).leadingCoeff = a - Polynomial.natDegree_C_mul_X_pow_le π Mathlib.Algebra.Polynomial.Degree.Definitions
{R : Type u} [Semiring R] (a : R) (n : β) : (Polynomial.C a * Polynomial.X ^ n).natDegree β€ n - Polynomial.natDegree_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Definitions
{R : Type u} [Semiring R] (n : β) (a : R) (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ n).natDegree = n - Polynomial.degree_C_mul_X_pow_le π Mathlib.Algebra.Polynomial.Degree.Definitions
{R : Type u} [Semiring R] (n : β) (a : R) : (Polynomial.C a * Polynomial.X ^ n).degree β€ βn - Polynomial.degree_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Definitions
{R : Type u} {a : R} [Semiring R] (n : β) (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ n).degree = βn - Polynomial.leadingCoeff_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {p : Polynomial R} {n : β} : (p * Polynomial.X ^ n).leadingCoeff = p.leadingCoeff - Polynomial.natDegree_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [Nontrivial R] {p : Polynomial R} (n : β) (hp : p β 0) : (p * Polynomial.X ^ n).natDegree = p.natDegree + n - Polynomial.degree_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] [Nontrivial R] {p : Polynomial R} (n : β) : (p * Polynomial.X ^ n).degree = p.degree + βn - Polynomial.degree_sum_fin_lt π Mathlib.Algebra.Polynomial.Degree.Operations
{R : Type u} [Semiring R] {n : β} (f : Fin n β R) : (β i : Fin n, Polynomial.C (f i) * Polynomial.X ^ βi).degree < βn - Polynomial.card_support_C_mul_X_pow_le_one π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] {c : R} {n : β} : (Polynomial.C c * Polynomial.X ^ n).support.card β€ 1 - Polynomial.mem_support_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] {n a : β} {c : R} (h : a β (Polynomial.C c * Polynomial.X ^ n).support) : a = n - Polynomial.as_sum_support_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) : p = β i β p.support, Polynomial.C (p.coeff i) * Polynomial.X ^ i - Polynomial.as_sum_range_C_mul_X_pow π Mathlib.Algebra.Polynomial.Degree.Support
{R : Type u} [Semiring R] (p : Polynomial R) : p = β i β Finset.range (p.natDegree + 1), Polynomial.C (p.coeff i) * Polynomial.X ^ i - Polynomial.natDegree_quadratic_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).natDegree β€ 2 - Polynomial.degree_linear_lt_degree_C_mul_X_sq π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] (ha : a β 0) : (Polynomial.C b * Polynomial.X + Polynomial.C c).degree < (Polynomial.C a * Polynomial.X ^ 2).degree - Polynomial.leadingCoeff_quadratic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).leadingCoeff = a - Polynomial.natDegree_quadratic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).natDegree = 2 - Polynomial.degree_quadratic_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).degree β€ 2 - Polynomial.degree_quadratic_lt π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).degree < 3 - Polynomial.degree_quadratic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 2 + Polynomial.C b * Polynomial.X + Polynomial.C c).degree = 2 - Polynomial.natDegree_cubic_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).natDegree β€ 3 - Polynomial.degree_quadratic_lt_degree_C_mul_X_cb π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] (ha : a β 0) : (Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).degree < (Polynomial.C a * Polynomial.X ^ 3).degree - Polynomial.leadingCoeff_cubic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).leadingCoeff = a - Polynomial.natDegree_cubic π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] (ha : a β 0) : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).natDegree = 3 - Polynomial.degree_cubic_le π Mathlib.Algebra.Polynomial.Degree.SmallDegree
{R : Type u} {a b c d : R} [Semiring R] : (Polynomial.C a * Polynomial.X ^ 3 + Polynomial.C b * Polynomial.X ^ 2 + Polynomial.C c * Polynomial.X + Polynomial.C d).degree β€ 3
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. 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 ?a
If 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 ?b
By 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_tsum
even though the hypothesisf i < g i
is not the last.
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, _ * _, _ ^ _, |- _ < _ β _
woould 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.
This is Loogle revision 4e1aab0
serving mathlib revision 79ca167