Loogle!
Result
Found 140 declarations mentioning Finsupp.prod.
- Finsupp.prod π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] (f : Ξ± ββ M) (g : Ξ± β M β N) : N - AddOpposite.op_finsuppProd π Mathlib.Algebra.BigOperators.Finsupp.Basic
{ΞΉ : Type u_16} {M : Type u_17} {N : Type u_18} [CommMonoid M] [Zero N] (f : ΞΉ ββ N) (g : ΞΉ β N β M) : AddOpposite.op (f.prod g) = f.prod fun i n => AddOpposite.op (g i n) - AddOpposite.unop_finsuppProd π Mathlib.Algebra.BigOperators.Finsupp.Basic
{ΞΉ : Type u_16} {M : Type u_17} {N : Type u_18} [CommMonoid M] [Zero N] (f : ΞΉ ββ N) (g : ΞΉ β N β Mα΅α΅α΅) : AddOpposite.unop (f.prod g) = f.prod fun i n => AddOpposite.unop (g i n) - Finsupp.prod_zero_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {h : Ξ± β M β N} : Finsupp.prod 0 h = 1 - Finsupp.prod_fun_one π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] (f : Ξ± ββ M) : (f.prod fun x x_1 => 1) = 1 - Finsupp.prod_single_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {a : Ξ±} {b : M} {h : Ξ± β M β N} (h_zero : h a 0 = 1) : (funβ | a => b).prod h = h a b - Finsupp.prod_embDomain π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_7} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {v : Ξ± ββ M} {f : Ξ± βͺ Ξ²} {g : Ξ² β M β N} : (Finsupp.embDomain f v).prod g = v.prod fun a b => g (f a) b - Finsupp.prod_finsetProd_comm π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_7} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {s : Finset Ξ²} (f : Ξ± ββ M) (h : Ξ± β M β Ξ² β N) : (f.prod fun a m => β b β s, h a m b) = β b β s, f.prod fun a m => h a m b - Nat.prod_pow_pos_of_zero_notMem_support π Mathlib.Algebra.BigOperators.Finsupp.Basic
{f : β ββ β} (nhf : 0 β f.support) : 0 < f.prod fun x1 x2 => x1 ^ x2 - Finsupp.prod_inv π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {G : Type u_12} [Zero M] [CommGroup G] {f : Ξ± ββ M} {h : Ξ± β M β G} : (f.prod fun a b => (h a b)β»ΒΉ) = (f.prod h)β»ΒΉ - Finsupp.prod_comm π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_7} {M : Type u_8} {M' : Type u_9} {N : Type u_10} [Zero M] [Zero M'] [CommMonoid N] (f : Ξ± ββ M) (g : Ξ² ββ M') (h : Ξ± β M β Ξ² β M' β N) : (f.prod fun x v => g.prod fun x' v' => h x v x' v') = g.prod fun x' v' => f.prod fun x v => h x v x' v' - Finsupp.prod_fintype π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] [Fintype Ξ±] (f : Ξ± ββ M) (g : Ξ± β M β N) (h : β (i : Ξ±), g i 0 = 1) : f.prod g = β i, g i (f i) - map_finsuppProd π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} {P : Type u_11} [Zero M] [CommMonoid N] [CommMonoid P] {H : Type u_16} [FunLike H N P] [MonoidHomClass H N P] (h : H) (f : Ξ± ββ M) (g : Ξ± β M β N) : h (f.prod g) = f.prod fun a b => h (g a b) - Finsupp.prod_mul π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {f : Ξ± ββ M} {hβ hβ : Ξ± β M β N} : (f.prod fun a b => hβ a b * hβ a b) = f.prod hβ * f.prod hβ - Finsupp.mul_prod_erase π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] (f : Ξ± ββ M) (y : Ξ±) (g : Ξ± β M β N) (hyf : y β f.support) : g y (f y) * (Finsupp.erase y f).prod g = f.prod g - Finsupp.prod_congr π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {f : Ξ± ββ M} {g1 g2 : Ξ± β M β N} (h : β x β f.support, g1 x (f x) = g2 x (f x)) : f.prod g1 = f.prod g2 - Finsupp.prod_pow π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {N : Type u_10} [CommMonoid N] [Fintype Ξ±] (f : Ξ± ββ β) (g : Ξ± β N) : (f.prod fun a b => g a ^ b) = β a, g a ^ f a - Finsupp.onFinset_prod π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {s : Finset Ξ±} {f : Ξ± β M} {g : Ξ± β M β N} (hf : β (a : Ξ±), f a β 0 β a β s) (hg : β (a : Ξ±), g a 0 = 1) : (Finsupp.onFinset s f hf).prod g = β a β s, g a (f a) - Finsupp.prod_indicator_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {s : Finset Ξ±} (f : Ξ± β M) {h : Ξ± β M β N} (h_zero : β a β s, h a 0 = 1) : (Finsupp.indicator s fun x x_1 => f x).prod h = β x β s, h x (f x) - Finsupp.prod_mapRange_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {M' : Type u_9} {N : Type u_10} [Zero M] [Zero M'] [CommMonoid N] {f : M β M'} {hf : f 0 = 0} {g : Ξ± ββ M} {h : Ξ± β M' β N} (h0 : β (a : Ξ±), h a 0 = 1) : (Finsupp.mapRange f hf g).prod h = g.prod fun a b => h a (f b) - SubmonoidClass.finsuppProd_mem π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {S : Type u_16} [SetLike S N] [SubmonoidClass S N] (s : S) (f : Ξ± ββ M) (g : Ξ± β M β N) (h : β (c : Ξ±), f c β 0 β g c (f c) β s) : f.prod g β s - Finsupp.mul_prod_erase' π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] (f : Ξ± ββ M) (y : Ξ±) (g : Ξ± β M β N) (hg : β (i : Ξ±), g i 0 = 1) : g y (f y) * (Finsupp.erase y f).prod g = f.prod g - Finsupp.prod_onFinset π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] (s : Finset Ξ±) (f : Ξ± β M) (hf : β (a : Ξ±), f a β 0 β a β s) (g : Ξ± β M β N) (hg : β i β s, g i 0 = 1) : (Finsupp.onFinset s f hf).prod g = β a β s, g a (f a) - Finsupp.prod_of_support_subset π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] (f : Ξ± ββ M) {s : Finset Ξ±} (hs : f.support β s) (g : Ξ± β M β N) (h : β i β s, g i 0 = 1) : f.prod g = β x β s, g x (f x) - Finsupp.prod_zpow π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {N : Type u_16} [DivisionCommMonoid N] [Fintype Ξ±] (f : Ξ± ββ β€) (g : Ξ± β N) : (f.prod fun a b => g a ^ b) = β a, g a ^ f a - Finsupp.prod_unique π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] [Unique Ξ±] {f : Ξ± ββ M} {g : Ξ± β M β N} (hβ : f default = 0 β g default 0 = 1) : f.prod g = g default (f default) - Finsupp.prod_ite_eq π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] [DecidableEq Ξ±] (f : Ξ± ββ M) (a : Ξ±) (b : Ξ± β M β N) : (f.prod fun x v => if a = x then b x v else 1) = if a β f.support then b a (f a) else 1 - Finsupp.prod_ite_eq' π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] [DecidableEq Ξ±] (f : Ξ± ββ M) (a : Ξ±) (b : Ξ± β M β N) : (f.prod fun x v => if x = a then b x v else 1) = if a β f.support then b a (f a) else 1 - Finsupp.prod_ne_zero_iff π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {ΞΉ : Type u_2} {Ξ² : Type u_7} [Zero Ξ±] [CommMonoidWithZero Ξ²] [Nontrivial Ξ²] [NoZeroDivisors Ξ²] {f : ΞΉ ββ Ξ±} {g : ΞΉ β Ξ± β Ξ²} : f.prod g β 0 β β i β f.support, g i (f i) β 0 - Finsupp.prod_neg_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {G : Type u_12} [SubtractionMonoid G] [CommMonoid M] {g : Ξ± ββ G} {h : Ξ± β G β M} (h0 : β (a : Ξ±), h a 0 = 1) : (-g).prod h = g.prod fun a b => h a (-b) - Finsupp.prod_eq_zero_iff π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {ΞΉ : Type u_2} {Ξ² : Type u_7} [Zero Ξ±] [CommMonoidWithZero Ξ²] [Nontrivial Ξ²] [NoZeroDivisors Ξ²] {f : ΞΉ ββ Ξ±} {g : ΞΉ β Ξ± β Ξ²} : f.prod g = 0 β β i β f.support, g i (f i) = 0 - Finsupp.prod_dvd_prod_of_subset_of_dvd π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {f1 f2 : Ξ± ββ M} {g1 g2 : Ξ± β M β N} (h1 : f1.support β f2.support) (h2 : β a β f1.support, g1 a (f1 a) β£ g2 a (f2 a)) : f1.prod g1 β£ f2.prod g2 - MonoidHom.finsuppProd_apply π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_7} {N : Type u_10} {P : Type u_11} [Zero Ξ²] [MulOneClass N] [CommMonoid P] (f : Ξ± ββ Ξ²) (g : Ξ± β Ξ² β N β* P) (x : N) : (f.prod g) x = f.prod fun i fi => (g i fi) x - MonoidHom.coe_finsuppProd π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_7} {N : Type u_10} {P : Type u_11} [Zero Ξ²] [MulOneClass N] [CommMonoid P] (f : Ξ± ββ Ξ²) (g : Ξ± β Ξ² β N β* P) : β(f.prod g) = f.prod fun i fi => β(g i fi) - Finsupp.prod_eq_single π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {f : Ξ± ββ M} (a : Ξ±) {g : Ξ± β M β N} (hβ : β (b : Ξ±), f b β 0 β b β a β g b (f b) = 1) (hβ : f a = 0 β g a 0 = 1) : f.prod g = g a (f a) - Finsupp.prod_mul_eq_prod_mul_of_exists π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {f : Ξ± ββ M} {g : Ξ± β M β N} {nβ nβ : N} (a : Ξ±) (ha : a β f.support) (h : g a (f a) * nβ = g a (f a) * nβ) : f.prod g * nβ = f.prod g * nβ - Finsupp.prod_finsetSum_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {ΞΉ : Type u_2} {M : Type u_8} {N : Type u_10} [AddCommMonoid M] [CommMonoid N] {s : Finset ΞΉ} {g : ΞΉ β Ξ± ββ M} {h : Ξ± β M β N} (h_zero : β (a : Ξ±), h a 0 = 1) (h_add : β (a : Ξ±) (bβ bβ : M), h a (bβ + bβ) = h a bβ * h a bβ) : β i β s, (g i).prod h = (β i β s, g i).prod h - Finsupp.prod_finset_sum_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {ΞΉ : Type u_2} {M : Type u_8} {N : Type u_10} [AddCommMonoid M] [CommMonoid N] {s : Finset ΞΉ} {g : ΞΉ β Ξ± ββ M} {h : Ξ± β M β N} (h_zero : β (a : Ξ±), h a 0 = 1) (h_add : β (a : Ξ±) (bβ bβ : M), h a (bβ + bβ) = h a bβ * h a bβ) : β i β s, (g i).prod h = (β i β s, g i).prod h - Finsupp.prod_indicator_index_eq_prod_attach π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] {s : Finset Ξ±} (f : (a : Ξ±) β a β s β M) {h : Ξ± β M β N} (h_zero : β a β s, h a 0 = 1) : (Finsupp.indicator s f).prod h = β x β s.attach, h (βx) (f βx β―) - Finsupp.prod_sum_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_7} {M : Type u_8} {N : Type u_10} {P : Type u_11} [Zero M] [AddCommMonoid N] [CommMonoid P] {f : Ξ± ββ M} {g : Ξ± β M β Ξ² ββ N} {h : Ξ² β N β P} (h_zero : β (a : Ξ²), h a 0 = 1) (h_add : β (a : Ξ²) (bβ bβ : N), h a (bβ + bβ) = h a bβ * h a bβ) : (f.sum g).prod h = f.prod fun a b => (g a b).prod h - Finsupp.prod_add_index' π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [AddZeroClass M] [CommMonoid N] {f g : Ξ± ββ M} {h : Ξ± β M β N} (h_zero : β (a : Ξ±), h a 0 = 1) (h_add : β (a : Ξ±) (bβ bβ : M), h a (bβ + bβ) = h a bβ * h a bβ) : (f + g).prod h = f.prod h * g.prod h - Finsupp.prod_add_index_of_disjoint π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} [AddCommMonoid M] {f1 f2 : Ξ± ββ M} (hd : Disjoint f1.support f2.support) {Ξ² : Type u_16} [CommMonoid Ξ²] (g : Ξ± β M β Ξ²) : (f1 + f2).prod g = f1.prod g * f2.prod g - Finsupp.prod_congr_of_eq_on_union π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [Zero M] [CommMonoid N] [DecidableEq Ξ±] {f1 f2 : Ξ± ββ M} {g1 g2 : Ξ± β M β N} (h : β x β f1.support βͺ f2.support, g1 x (f1 x) = g2 x (f2 x)) (h1 : β x β f1.support βͺ f2.support, g1 x 0 = 1) (h2 : β x β f1.support βͺ f2.support, g2 x 0 = 1) : f1.prod g1 = f2.prod g2 - Finsupp.prod_add_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [DecidableEq Ξ±] [AddZeroClass M] [CommMonoid N] {f g : Ξ± ββ M} {h : Ξ± β M β N} (h_zero : β a β f.support βͺ g.support, h a 0 = 1) (h_add : β a β f.support βͺ g.support, β (bβ bβ : M), h a (bβ + bβ) = h a bβ * h a bβ) : (f + g).prod h = f.prod h * g.prod h - Finsupp.prod_hom_add_index π Mathlib.Algebra.BigOperators.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_8} {N : Type u_10} [AddZeroClass M] [CommMonoid N] {f g : Ξ± ββ M} (h : Ξ± β Multiplicative M β* N) : ((f + g).prod fun a b => (h a) (Multiplicative.ofAdd b)) = (f.prod fun a b => (h a) (Multiplicative.ofAdd b)) * g.prod fun a b => (h a) (Multiplicative.ofAdd b) - Int.cast_finsuppProd π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {R : Type u_10} [Zero M] (f : Ξ± ββ M) [CommRing R] (g : Ξ± β M β β€) : β(f.prod g) = f.prod fun a b => β(g a b) - Finsupp.prod_equivMapDomain π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {M : Type u_5} {N : Type u_6} [Zero M] [CommMonoid N] (f : Ξ± β Ξ²) (l : Ξ± ββ M) (g : Ξ² β M β N) : (Finsupp.equivMapDomain f l).prod g = l.prod fun a m => g (f a) m - Nat.cast_finsuppProd π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {R : Type u_10} [Zero M] (f : Ξ± ββ M) [CommSemiring R] (g : Ξ± β M β β) : β(f.prod g) = f.prod fun a b => β(g a b) - Rat.cast_finsuppProd π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {R : Type u_10} [Zero M] (f : Ξ± ββ M) [Field R] [CharZero R] (g : Ξ± β M β β) : β(f.prod g) = f.prod fun a b => β(g a b) - Finsupp.prod_filter_index π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {N : Type u_6} [Zero M] (p : Ξ± β Prop) [DecidablePred p] (f : Ξ± ββ M) [CommMonoid N] (g : Ξ± β M β N) : (Finsupp.filter p f).prod g = β x β (Finsupp.filter p f).support, g x (f x) - Finsupp.prod_subtypeDomain_index π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {N : Type u_6} [Zero M] {p : Ξ± β Prop} [CommMonoid N] {v : Ξ± ββ M} {h : Ξ± β M β N} (hp : β x β v.support, p x) : ((Finsupp.subtypeDomain p v).prod fun a b => h (βa) b) = v.prod h - Finsupp.prod_mapDomain_index_inj π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {M : Type u_5} {N : Type u_6} [AddCommMonoid M] [CommMonoid N] {f : Ξ± β Ξ²} {s : Ξ± ββ M} {h : Ξ² β M β N} (hf : Function.Injective f) : (Finsupp.mapDomain f s).prod h = s.prod fun a b => h (f a) b - Finsupp.prod_filter_mul_prod_filter_not π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {N : Type u_6} [Zero M] (p : Ξ± β Prop) [DecidablePred p] (f : Ξ± ββ M) [CommMonoid N] (g : Ξ± β M β N) : (Finsupp.filter p f).prod g * (Finsupp.filter (fun a => Β¬p a) f).prod g = f.prod g - Finsupp.prod_div_prod_filter π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {M : Type u_5} {G : Type u_8} [Zero M] (p : Ξ± β Prop) [DecidablePred p] (f : Ξ± ββ M) [CommGroup G] (g : Ξ± β M β G) : f.prod g / (Finsupp.filter p f).prod g = (Finsupp.filter (fun a => Β¬p a) f).prod g - Finsupp.prod_sumElim π Mathlib.Data.Finsupp.Basic
{ΞΉβ : Type u_12} {ΞΉβ : Type u_13} {Ξ± : Type u_14} {M : Type u_15} [Zero Ξ±] [CommMonoid M] (fβ : ΞΉβ ββ Ξ±) (fβ : ΞΉβ ββ Ξ±) (g : ΞΉβ β ΞΉβ β Ξ± β M) : (fβ.sumElim fβ).prod g = fβ.prod (g β Sum.inl) * fβ.prod (g β Sum.inr) - Finsupp.prod_mapDomain_index π Mathlib.Data.Finsupp.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {M : Type u_5} {N : Type u_6} [AddCommMonoid M] [CommMonoid N] {f : Ξ± β Ξ²} {s : Ξ± ββ M} {h : Ξ² β M β N} (h_zero : β (b : Ξ²), h b 0 = 1) (h_add : β (b : Ξ²) (mβ mβ : M), h b (mβ + mβ) = h b mβ * h b mβ) : (Finsupp.mapDomain f s).prod h = s.prod fun a m => h (f a) m - Finsupp.prod_option_index π Mathlib.Data.Finsupp.Option
{Ξ± : Type u_1} {M : Type u_2} {N : Type u_3} [AddZeroClass M] [CommMonoid N] (f : Option Ξ± ββ M) (b : Option Ξ± β M β N) (h_zero : β (o : Option Ξ±), b o 0 = 1) (h_add : β (o : Option Ξ±) (mβ mβ : M), b o (mβ + mβ) = b o mβ * b o mβ) : f.prod b = b none (f none) * f.some.prod fun a => b (some a) - AddMonoidAlgebra.finsuppProd_single π Mathlib.Algebra.MonoidAlgebra.Defs
{R : Type u_1} {M : Type u_4} {N : Type u_5} {ΞΉ : Type u_7} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] (f : ΞΉ ββ N) (m : ΞΉ β N β M) (r : ΞΉ β N β R) : (f.prod fun i n => AddMonoidAlgebra.single (m i n) (r i n)) = AddMonoidAlgebra.single (f.sum m) (f.prod r) - MonoidAlgebra.finsuppProd_single π Mathlib.Algebra.MonoidAlgebra.Defs
{R : Type u_1} {M : Type u_4} {N : Type u_5} {ΞΉ : Type u_7} [CommSemiring R] [CommMonoid M] [AddCommMonoid N] (f : ΞΉ ββ N) (m : ΞΉ β N β M) (r : ΞΉ β N β R) : (f.prod fun i n => MonoidAlgebra.single (m i n) (r i n)) = MonoidAlgebra.single (f.prod m) (f.prod r) - Finsupp.prod_toMultiset π Mathlib.Data.Finsupp.Multiset
{Ξ± : Type u_1} [CommMonoid Ξ±] (f : Ξ± ββ β) : (Finsupp.toMultiset f).prod = f.prod fun a n => a ^ n - star_finsuppProd π Mathlib.Algebra.Star.BigOperators
{R : Type u_1} {ΞΉ : Type u_2} {M : Type u_3} [Zero M] [CommMonoid R] [StarMul R] (s : ΞΉ ββ M) (f : ΞΉ β M β R) : star (s.prod f) = s.prod fun i m => star f i m - MvPolynomial.monic_monomial_eq π Mathlib.Algebra.MvPolynomial.Basic
{R : Type u} {Ο : Type u_1} [CommSemiring R] (m : Ο ββ β) : (MvPolynomial.monomial m) 1 = m.prod fun n e => MvPolynomial.X n ^ e - MvPolynomial.monomial_eq π Mathlib.Algebra.MvPolynomial.Basic
{R : Type u} {Ο : Type u_1} {a : R} {s : Ο ββ β} [CommSemiring R] : (MvPolynomial.monomial s) a = MvPolynomial.C a * s.prod fun n e => MvPolynomial.X n ^ e - MvPolynomial.monomial_finsupp_sum_index π Mathlib.Algebra.MvPolynomial.Basic
{R : Type u} {Ο : Type u_1} [CommSemiring R] {Ξ± : Type u_2} {Ξ² : Type u_3} [Zero Ξ²] (f : Ξ± ββ Ξ²) (g : Ξ± β Ξ² β Ο ββ β) (a : R) : (MvPolynomial.monomial (f.sum g)) a = MvPolynomial.C a * f.prod fun a b => (MvPolynomial.monomial (g a b)) 1 - MvPolynomial.evalβ_monomial π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} {a : R} {s : Ο ββ β} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (g : Ο β Sβ) : MvPolynomial.evalβ f g ((MvPolynomial.monomial s) a) = f a * s.prod fun n e => g n ^ e - MvPolynomial.eval_monomial π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Ο : Type u_1} {a : R} {s : Ο ββ β} [CommSemiring R] {f : Ο β R} : (MvPolynomial.eval f) ((MvPolynomial.monomial s) a) = a * s.prod fun n e => f n ^ e - MvPolynomial.evalβ_mul_monomial π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] {p : MvPolynomial Ο R} (f : R β+* Sβ) (g : Ο β Sβ) {s : Ο ββ β} {a : R} : MvPolynomial.evalβ f g (p * (MvPolynomial.monomial s) a) = MvPolynomial.evalβ f g p * f a * s.prod fun n e => g n ^ e - MvPolynomial.evalβHom_monomial π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] (f : R β+* Sβ) (g : Ο β Sβ) (d : Ο ββ β) (r : R) : (MvPolynomial.evalβHom f g) ((MvPolynomial.monomial d) r) = f r * d.prod fun i k => g i ^ k - MvPolynomial.aeval_monomial π Mathlib.Algebra.MvPolynomial.Eval
{R : Type u} {Sβ : Type v} {Ο : Type u_1} [CommSemiring R] [CommSemiring Sβ] [Algebra R Sβ] (g : Ο β Sβ) (d : Ο ββ β) (r : R) : (MvPolynomial.aeval g) ((MvPolynomial.monomial d) r) = (algebraMap R Sβ) r * d.prod fun i k => g i ^ k - Nat.factorization_prod_pow_eq_self π Mathlib.Data.Nat.Factorization.Defs
{n : β} (hn : n β 0) : (n.factorization.prod fun x1 x2 => x1 ^ x2) = n - Nat.prod_factorization_pow_eq_self π Mathlib.Data.Nat.Factorization.Defs
{n : β} (hn : n β 0) : (n.factorization.prod fun x1 x2 => x1 ^ x2) = n - Nat.prod_pow_dvd_of_le_factorization π Mathlib.Data.Nat.Factorization.Defs
{n : β} {f : β ββ β} (hf : f β€ n.factorization) : (f.prod fun x1 x2 => x1 ^ x2) β£ n - Nat.factorization_prod_pow_eq_self_of_le_factorization π Mathlib.Data.Nat.Factorization.Defs
{n : β} {f : β ββ β} (hf : f β€ n.factorization) : (f.prod fun x1 x2 => x1 ^ x2).factorization = f - Nat.dvd_prod_pow_of_factorization_le π Mathlib.Data.Nat.Factorization.Defs
{n : β} {f : β ββ β} (hn : n β 0) (hf : n.factorization β€ f) : n β£ f.prod fun x1 x2 => x1 ^ x2 - Nat.prod_pow_factorization_eq_self π Mathlib.Data.Nat.Factorization.Defs
{f : β ββ β} (hf : β p β f.support, Nat.Prime p) : (f.prod fun x1 x2 => x1 ^ x2).factorization = f - Nat.eq_factorization_iff π Mathlib.Data.Nat.Factorization.Defs
{n : β} {f : β ββ β} (hn : n β 0) (hf : β p β f.support, Nat.Prime p) : f = n.factorization β (f.prod fun x1 x2 => x1 ^ x2) = n - Nat.dvd_iff_exists_le_factorization π Mathlib.Data.Nat.Factorization.Defs
{n d : β} (hd : d β 0) (hn : n β 0) : d β£ n β β f β€ n.factorization, d = f.prod fun x1 x2 => x1 ^ x2 - Nat.factorizationEquiv_symm_apply_coe π Mathlib.Data.Nat.Factorization.Defs
(xβ : { f // β p β f.support, Nat.Prime p }) : β(Nat.factorizationEquiv.symm xβ) = (βxβ).prod fun x1 x2 => x1 ^ x2 - Nat.prod_primeFactors_prod_factorization π Mathlib.Data.Nat.Factorization.Basic
{n : β} {Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β Ξ²) : β p β n.primeFactors, f p = n.factorization.prod fun p x => f p - Nat.prod_factorization_eq_prod_primeFactors π Mathlib.Data.Nat.Factorization.Basic
{n : β} {Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β β β Ξ²) : n.factorization.prod f = β p β n.primeFactors, f p (n.factorization p) - Nat.factorizationEquiv_inv_apply π Mathlib.Data.Nat.Factorization.Basic
{f : β ββ β} (hf : β p β f.support, Nat.Prime p) : β(Nat.factorizationEquiv.symm β¨f, hfβ©) = f.prod fun x1 x2 => x1 ^ x2 - Finsupp.image_pow_eq_finsuppProd_image π Mathlib.Data.Finsupp.Weight
{Ξ± : Type u_5} {Ξ² : Type u_6} [CommMonoid Ξ²] {f : Ξ± β Ξ²} {n : β} {s : Set Ξ±} : (f '' s) ^ n = (fun x => x.prod fun x1 x2 => f x1 ^ x2) '' {x | Finsupp.degree x = n β§ βx.support β s} - Prime.not_dvd_finsuppProd π Mathlib.Algebra.BigOperators.Associated
{Mβ : Type u_3} {M : Type u_4} [CommMonoidWithZero M] {f : Mβ ββ M} {g : Mβ β M β β} {p : β} (pp : Prime p) (hS : β a β f.support, Β¬p β£ g a (f a)) : Β¬p β£ f.prod g - Prime.dvd_finsuppProd_iff π Mathlib.Algebra.BigOperators.Associated
{Mβ : Type u_3} {M : Type u_4} [CommMonoidWithZero M] {f : Mβ ββ M} {g : Mβ β M β β} {p : β} (pp : Prime p) : p β£ f.prod g β β a β f.support, p β£ g a (f a) - Subgroup.exists_finsupp_of_mem_closure_range π Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {ΞΉ : Type u_2} (f : ΞΉ β M) (x : M) (hx : x β Subgroup.closure (Set.range f)) : β a, x = a.prod fun x1 x2 => f x1 ^ x2 - Subgroup.mem_closure_range_iff π Mathlib.Algebra.Group.Subgroup.Finsupp
{M : Type u_1} [CommGroup M] {ΞΉ : Type u_2} {f : ΞΉ β M} {x : M} : x β Subgroup.closure (Set.range f) β β a, x = a.prod fun x1 x2 => f x1 ^ x2 - Nat.multiplicative_factorization π Mathlib.Data.Nat.Factorization.Induction
{Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β Ξ²) (h_mult : β (x y : β), x.Coprime y β f (x * y) = f x * f y) (hf : f 1 = 1) {n : β} : n β 0 β f n = n.factorization.prod fun p k => f (p ^ k) - Nat.multiplicative_factorization' π Mathlib.Data.Nat.Factorization.Induction
{n : β} {Ξ² : Type u_1} [CommMonoid Ξ²] (f : β β Ξ²) (h_mult : β (x y : β), x.Coprime y β f (x * y) = f x * f y) (hf0 : f 0 = 1) (hf1 : f 1 = 1) : f n = n.factorization.prod fun p k => f (p ^ k) - Nat.totient_eq_prod_factorization π Mathlib.Data.Nat.Totient
{n : β} (hn : n β 0) : n.totient = n.factorization.prod fun p k => p ^ (k - 1) * (p - 1) - Con.coe_finsuppProd π Mathlib.GroupTheory.Congruence.BigOperators
{ΞΉ : Type u_1} {Ξ² : Type u_2} {M : Type u_3} [CommMonoid M] [Zero Ξ²] (c : Con M) (h : ΞΉ β Ξ² β M) (f : ΞΉ ββ Ξ²) : β(f.prod h) = f.prod fun i b => β(h i b) - Con.finsuppProd π Mathlib.GroupTheory.Congruence.BigOperators
{ΞΉ : Type u_1} {Ξ² : Type u_2} {M : Type u_3} [CommMonoid M] [Zero Ξ²] (c : Con M) (h h' : ΞΉ β Ξ² β M) {f g : ΞΉ ββ Ξ²} (hf : β (i : ΞΉ), c (h i 0) 1) (hf' : β (i : ΞΉ), c (h' i 0) 1) (H : β (i : ΞΉ), c (h i (f i)) (h' i (g i))) : c (f.prod h) (g.prod h') - Submonoid.exists_finsupp_of_mem_closure_range π Mathlib.Algebra.Group.Submonoid.Finsupp
{M : Type u_1} [CommMonoid M] {ΞΉ : Type u_2} (f : ΞΉ β M) (x : M) (hx : x β Submonoid.closure (Set.range f)) : β a, x = a.prod fun x1 x2 => f x1 ^ x2 - Submonoid.mem_closure_range_iff π Mathlib.Algebra.Group.Submonoid.Finsupp
{M : Type u_1} [CommMonoid M] {ΞΉ : Type u_2} {f : ΞΉ β M} {x : M} : x β Submonoid.closure (Set.range f) β β a, x = a.prod fun x1 x2 => f x1 ^ x2 - Algebra.Generators.Hom.toAlgHom_monomial π Mathlib.RingTheory.Extension.Generators
{R : Type u} {S : Type v} {ΞΉ : Type w} [CommRing R] [CommRing S] [Algebra R S] {P : Algebra.Generators R S ΞΉ} {R' : Type u_1} {S' : Type u_2} {ΞΉ' : Type u_3} [CommRing R'] [CommRing S'] [Algebra R' S'] {P' : Algebra.Generators R' S' ΞΉ'} [Algebra R R'] [Algebra S S'] (f : P.Hom P') (v : ΞΉ ββ β) (r : R) : f.toAlgHom ((MvPolynomial.monomial v) r) = r β’ v.prod fun x1 x2 => f.val x1 ^ x2 - Algebra.Generators.H1Cotangent.Ξ΄Aux_monomial π Mathlib.RingTheory.Kaehler.JacobiZariski
{R : Type uβ} {S : Type uβ} [CommRing R] [CommRing S] [Algebra R S] {T : Type uβ} [CommRing T] [Algebra R T] [Algebra S T] [IsScalarTower R S T] {ΞΉ : Type wβ} (Q : Algebra.Generators S T ΞΉ) (n : ΞΉ ββ β) (r : S) : (Algebra.Generators.H1Cotangent.Ξ΄Aux R Q) ((MvPolynomial.monomial n) r) = (n.prod fun x1 x2 => Q.val x1 ^ x2) ββ[S] (KaehlerDifferential.D R S) r - FractionalIdeal.count_finsuppProd π Mathlib.RingTheory.DedekindDomain.Factorization
{R : Type u_1} [CommRing R] (K : Type u_2) [Field K] [Algebra R K] [IsFractionRing R K] [IsDedekindDomain R] (v : IsDedekindDomain.HeightOneSpectrum R) (exps : IsDedekindDomain.HeightOneSpectrum R ββ β€) : FractionalIdeal.count K v (exps.prod fun x1 x2 => βx1.asIdeal ^ x2) = exps v - NNReal.toReal_finsuppProd π Mathlib.Basic.NNReal.Basic
{M : Type u_1} [Zero M] {ΞΉ : Type u_2} (f : ΞΉ ββ M) (g : ΞΉ β M β NNReal) : β(f.prod g) = f.prod fun i m => β(g i m) - ENNReal.ofNNReal_finsuppProd π Mathlib.Basic.ENNReal.BigOperators
{ΞΉ : Type u_1} {M : Type u_2} [Zero M] (f : ΞΉ ββ M) (g : ΞΉ β M β NNReal) : β(f.prod g) = f.prod fun i m => β(g i m) - RCLike.ofReal_finsuppProd π Mathlib.Analysis.RCLike.Basic
{K : Type u_1} [RCLike K] {Ξ± : Type u_3} {M : Type u_4} [Zero M] (f : Ξ± ββ M) (g : Ξ± β M β β) : β(f.prod fun a b => g a b) = f.prod fun a b => β(g a b) - Finsupp.log_prod π Mathlib.Analysis.SpecialFunctions.Log.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} [Zero Ξ²] (f : Ξ± ββ Ξ²) (g : Ξ± β Ξ² β β) (hg : β (a : Ξ±), g a (f a) = 0 β f a = 0) : Real.log (f.prod g) = f.sum fun a b => Real.log (g a b) - MvPolynomial.coeff_linearCombination_X_pow_of_fintype π Mathlib.Algebra.MvPolynomial.Coeff
{R : Type u_1} {Ο : Type u_2} [CommSemiring R] [Fintype Ο] (a : Ο β R) (s : Ο ββ β) (n : β) : MvPolynomial.coeff s ((β i, a i β’ MvPolynomial.X i) ^ n) = if (s.sum fun x m => m) = n then βs.multinomial * s.prod fun r m => a r ^ m else 0 - MvPolynomial.coeff_linearCombination_X_pow π Mathlib.Algebra.MvPolynomial.Coeff
{R : Type u_1} {Ο : Type u_2} [CommSemiring R] (a : Ο ββ R) (s : Ο ββ β) (n : β) : MvPolynomial.coeff s ((Finsupp.linearCombination R MvPolynomial.X) a ^ n) = if (s.sum fun x m => m) = n then βs.multinomial * s.prod fun r m => a r ^ m else 0 - ArithmeticFunction.IsMultiplicative.multiplicative_factorization π Mathlib.NumberTheory.ArithmeticFunction.Defs
{R : Type u_1} [CommMonoidWithZero R] (f : ArithmeticFunction R) (hf : f.IsMultiplicative) {n : β} (hn : n β 0) : f n = n.factorization.prod fun p k => f (p ^ k) - MvPowerSeries.monomial_one_eq π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_1} {R : Type u_2} [CommSemiring R] (e : Ο ββ β) : (MvPowerSeries.monomial e) 1 = e.prod fun s n => MvPowerSeries.X s ^ n - MvPowerSeries.monomial_mapDomain_apply_one π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_1} {R : Type u_2} [CommSemiring R] {Ο : Type u_3} (d : Ο ββ β) (f : Ο β Ο) : (MvPowerSeries.monomial (Finsupp.mapDomain f d)) 1 = d.prod fun s e => MvPowerSeries.X (f s) ^ e - MvPowerSeries.monomial_smul_const π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_4} {R : Type u_5} [CommSemiring R] (e : Ο ββ β) (r : R) : (MvPowerSeries.monomial e) (r ^ e.sum fun x n => n) = e.prod fun s e => (r β’ MvPowerSeries.X s) ^ e - MvPowerSeries.monomial_eq π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_1} {R : Type u_2} [CommSemiring R] (e : Ο ββ β) (r : Ο β R) : (MvPowerSeries.monomial e) (e.prod fun s n => r s ^ n) = e.prod fun s e => (r s β’ MvPowerSeries.X s) ^ e - MvPowerSeries.monomial_eq' π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_1} {R : Type u_2} [CommSemiring R] (e : Ο ββ β) (r : R) : (MvPowerSeries.monomial e) r = MvPowerSeries.C r * e.prod fun s e => MvPowerSeries.X s ^ e - MvPowerSeries.prod_smul_X_eq_smul_monomial_one π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_1} {R : Type u_2} [CommSemiring R] {A : Type u_4} [CommSemiring A] [Algebra A R] (e : Ο ββ β) (a : Ο β A) : (e.prod fun s n => (a s β’ MvPowerSeries.X s) ^ n) = (e.prod fun s n => a s ^ n) β’ (MvPowerSeries.monomial e) 1 - MvPowerSeries.monomial_smul_eq π Mathlib.RingTheory.MvPowerSeries.Basic
{Ο : Type u_1} {R : Type u_2} [CommSemiring R] (e : Ο ββ β) (p : β) (r : R) : (MvPowerSeries.monomial (p β’ e)) r = MvPowerSeries.C r * e.prod fun s e => (MvPowerSeries.X s ^ p) ^ e - Finsupp.card_pi π Mathlib.Data.Finset.Finsupp
{ΞΉ : Type u_1} {Ξ± : Type u_2} [Zero Ξ±] (f : ΞΉ ββ Finset Ξ±) : f.pi.card = f.prod fun i => β(f i).card - MvPowerSeries.hasSum_evalβ π Mathlib.RingTheory.MvPowerSeries.Evaluation
{Ο : Type u_1} {R : Type u_2} [CommRing R] [UniformSpace R] {S : Type u_3} [CommRing S] [UniformSpace S] {Ο : R β+* S} {a : Ο β S} [IsTopologicalSemiring R] [IsUniformAddGroup R] [IsUniformAddGroup S] [CompleteSpace S] [T2Space S] [IsTopologicalRing S] [IsLinearTopology S S] (hΟ : Continuous βΟ) (ha : MvPowerSeries.HasEval a) (f : MvPowerSeries Ο R) : HasSum (fun d => Ο ((MvPowerSeries.coeff d) f) * d.prod fun s e => a s ^ e) (MvPowerSeries.evalβ Ο a f) - MvPowerSeries.evalβ_eq_tsum π Mathlib.RingTheory.MvPowerSeries.Evaluation
{Ο : Type u_1} {R : Type u_2} [CommRing R] [UniformSpace R] {S : Type u_3} [CommRing S] [UniformSpace S] {Ο : R β+* S} {a : Ο β S} [IsTopologicalSemiring R] [IsUniformAddGroup R] [IsUniformAddGroup S] [CompleteSpace S] [T2Space S] [IsTopologicalRing S] [IsLinearTopology S S] (hΟ : Continuous βΟ) (ha : MvPowerSeries.HasEval a) (f : MvPowerSeries Ο R) : MvPowerSeries.evalβ Ο a f = β' (d : Ο ββ β), Ο ((MvPowerSeries.coeff d) f) * d.prod fun s e => a s ^ e - MvPowerSeries.hasSum_aeval π Mathlib.RingTheory.MvPowerSeries.Evaluation
{Ο : Type u_1} {R : Type u_2} [CommRing R] [UniformSpace R] {S : Type u_3} [CommRing S] [UniformSpace S] {a : Ο β S} [IsTopologicalSemiring R] [IsUniformAddGroup R] [IsUniformAddGroup S] [CompleteSpace S] [T2Space S] [IsTopologicalRing S] [IsLinearTopology S S] [Algebra R S] [ContinuousSMul R S] (ha : MvPowerSeries.HasEval a) (f : MvPowerSeries Ο R) : HasSum (fun d => (MvPowerSeries.coeff d) f β’ d.prod fun s e => a s ^ e) ((MvPowerSeries.aeval ha) f) - MvPowerSeries.aeval_eq_sum π Mathlib.RingTheory.MvPowerSeries.Evaluation
{Ο : Type u_1} {R : Type u_2} [CommRing R] [UniformSpace R] {S : Type u_3} [CommRing S] [UniformSpace S] {a : Ο β S} [IsTopologicalSemiring R] [IsUniformAddGroup R] [IsUniformAddGroup S] [CompleteSpace S] [T2Space S] [IsTopologicalRing S] [IsLinearTopology S S] [Algebra R S] [ContinuousSMul R S] (ha : MvPowerSeries.HasEval a) (f : MvPowerSeries Ο R) : (MvPowerSeries.aeval ha) f = β' (d : Ο ββ β), (MvPowerSeries.coeff d) f β’ d.prod fun s e => a s ^ e - MvPowerSeries.subst_monomial π Mathlib.RingTheory.MvPowerSeries.Substitution
{Ο : Type u_1} {R : Type u_3} [CommRing R] {Ο : Type u_4} {S : Type u_5} [CommRing S] [Algebra R S] {a : Ο β MvPowerSeries Ο S} (ha : MvPowerSeries.HasSubst a) (e : Ο ββ β) (r : R) : MvPowerSeries.subst a ((MvPowerSeries.monomial e) r) = (algebraMap R (MvPowerSeries Ο S)) r * e.prod fun s n => a s ^ n - MvPowerSeries.coeff_rescale π Mathlib.RingTheory.MvPowerSeries.Substitution
{Ο : Type u_1} {R : Type u_9} [CommSemiring R] (f : MvPowerSeries Ο R) (a : Ο β R) (n : Ο ββ β) : (MvPowerSeries.coeff n) ((MvPowerSeries.rescale a) f) = (n.prod fun s m => a s ^ m) * (MvPowerSeries.coeff n) f - MvPowerSeries.constantCoeff_subst π Mathlib.RingTheory.MvPowerSeries.Substitution
{Ο : Type u_1} {R : Type u_3} [CommRing R] {Ο : Type u_4} {S : Type u_5} [CommRing S] [Algebra R S] {a : Ο β MvPowerSeries Ο S} (ha : MvPowerSeries.HasSubst a) (f : MvPowerSeries Ο R) : MvPowerSeries.constantCoeff (MvPowerSeries.subst a f) = βαΆ (d : Ο ββ β), (MvPowerSeries.coeff d) f β’ MvPowerSeries.constantCoeff (d.prod fun s e => a s ^ e) - MvPowerSeries.coeff_subst_finite π Mathlib.RingTheory.MvPowerSeries.Substitution
{Ο : Type u_1} {R : Type u_3} [CommRing R] {Ο : Type u_4} {S : Type u_5} [CommRing S] [Algebra R S] {a : Ο β MvPowerSeries Ο S} (ha : MvPowerSeries.HasSubst a) (f : MvPowerSeries Ο R) (e : Ο ββ β) : Function.HasFiniteSupport fun d => (MvPowerSeries.coeff d) f β’ (MvPowerSeries.coeff e) (d.prod fun s e => a s ^ e) - MvPowerSeries.substAlgHom_monomial π Mathlib.RingTheory.MvPowerSeries.Substitution
{Ο : Type u_1} {R : Type u_3} [CommRing R] {Ο : Type u_4} {S : Type u_5} [CommRing S] [Algebra R S] {a : Ο β MvPowerSeries Ο S} (ha : MvPowerSeries.HasSubst a) (e : Ο ββ β) (r : R) : (MvPowerSeries.substAlgHom ha) ((MvPowerSeries.monomial e) r) = (algebraMap R (MvPowerSeries Ο S)) r * e.prod fun s n => a s ^ n - MvPowerSeries.coeff_subst π Mathlib.RingTheory.MvPowerSeries.Substitution
{Ο : Type u_1} {R : Type u_3} [CommRing R] {Ο : Type u_4} {S : Type u_5} [CommRing S] [Algebra R S] {a : Ο β MvPowerSeries Ο S} (ha : MvPowerSeries.HasSubst a) (f : MvPowerSeries Ο R) (e : Ο ββ β) : (MvPowerSeries.coeff e) (MvPowerSeries.subst a f) = βαΆ (d : Ο ββ β), (MvPowerSeries.coeff d) f β’ (MvPowerSeries.coeff e) (d.prod fun s e => a s ^ e) - MvPowerSeries.le_gaussNorm π Mathlib.RingTheory.MvPowerSeries.GaussNorm
{R : Type u_1} {Ο : Type u_2} (v : R β β) (c : Ο β β) (f : MvPowerSeries Ο R) [Semiring R] (hbd : MvPowerSeries.HasGaussNorm v c f) (t : Ο ββ β) : (v ((MvPowerSeries.coeff t) f) * t.prod fun x1 x2 => c x1 ^ x2) β€ MvPowerSeries.gaussNorm v c f - Finsupp.logb_prod π Mathlib.Analysis.SpecialFunctions.Log.Base
{b : β} {Ξ± : Type u_1} {Ξ² : Type u_2} [Zero Ξ²] (f : Ξ± ββ Ξ²) (g : Ξ± β Ξ² β β) (hg : β (a : Ξ±), g a (f a) = 0 β f a = 0) : Real.logb b (f.prod g) = f.sum fun a c => Real.logb b (g a c) - Nat.Partition.coeff_genFun π Mathlib.Combinatorics.Enumerative.Partition.GenFun
{R : Type u_1} [CommSemiring R] (f : β β β β R) (n : β) : (PowerSeries.coeff n) (Nat.Partition.genFun f) = β p, (Multiset.toFinsupp p.parts).prod f - Nat.coe_properDivisors_eq_prod_pow_lt_factorization π Mathlib.Data.Nat.Factorization.Divisors
{n : β} : βn.properDivisors = {x | β f < n.factorization, (f.prod fun x1 x2 => x1 ^ x2) = x} - Nat.coe_divisors_eq_prod_pow_le_factorization π Mathlib.Data.Nat.Factorization.Divisors
{n : β} (hn : n β 0) : βn.divisors = {x | β f β€ n.factorization, (f.prod fun x1 x2 => x1 ^ x2) = x} - Nat.properDivisors_eq_image_Iio_factorization_prod_pow π Mathlib.Data.Nat.Factorization.Divisors
{n : β} : n.properDivisors = Finset.image (fun x => x.prod fun x1 x2 => x1 ^ x2) (Finset.Iio n.factorization) - Nat.divisors_eq_image_Iic_factorization_prod_pow π Mathlib.Data.Nat.Factorization.Divisors
{n : β} (hn : n β 0) : n.divisors = Finset.image (fun x => x.prod fun x1 x2 => x1 ^ x2) (Finset.Iic n.factorization) - Nat.Iic_factorization_prod_pow_injective π Mathlib.Data.Nat.Factorization.Divisors
(n : β) : Function.Injective fun x => (βx).prod fun x1 x2 => x1 ^ x2 - Nat.Iio_factorization_prod_pow_injective π Mathlib.Data.Nat.Factorization.Divisors
(n : β) : Function.Injective fun x => (βx).prod fun x1 x2 => x1 ^ x2 - Nat.properDivisors_eq_map_attach_Iio_factorization_prod_pow π Mathlib.Data.Nat.Factorization.Divisors
{n : β} : n.properDivisors = Finset.map { toFun := fun x => (βx).prod fun x1 x2 => x1 ^ x2, inj' := β― } (Finset.Iio n.factorization).attach - Nat.divisors_eq_map_attach_Iic_factorization_prod_pow π Mathlib.Data.Nat.Factorization.Divisors
{n : β} (hn : n β 0) : n.divisors = Finset.map { toFun := fun x => (βx).prod fun x1 x2 => x1 ^ x2, inj' := β― } (Finset.Iic n.factorization).attach - Nat.ceilRoot_def π Mathlib.Data.Nat.Factorization.Root
{a n : β} : n.ceilRoot a = if n = 0 β¨ a = 0 then 0 else (a.factorization β/β n).prod fun x1 x2 => x1 ^ x2 - Nat.floorRoot_def π Mathlib.Data.Nat.Factorization.Root
{a n : β} : n.floorRoot a = if n = 0 β¨ a = 0 then 0 else (a.factorization β/β n).prod fun x1 x2 => x1 ^ x2 - RingCon.coe_finsuppProd π Mathlib.RingTheory.Congruence.BigOperators
{ΞΉ : Type u_1} {Ξ² : Type u_2} {M : Type u_3} [Add M] [CommMonoid M] [Zero Ξ²] (c : RingCon M) (h : ΞΉ β Ξ² β M) (f : ΞΉ ββ Ξ²) : β(f.prod h) = f.prod fun i b => β(h i b) - RingCon.finsuppProd π Mathlib.RingTheory.Congruence.BigOperators
{ΞΉ : Type u_1} {Ξ² : Type u_2} {M : Type u_3} [Add M] [CommMonoid M] [Zero Ξ²] (c : RingCon M) (h h' : ΞΉ β Ξ² β M) {f g : ΞΉ ββ Ξ²} (hf : β (i : ΞΉ), c (h i 0) 1) (hf' : β (i : ΞΉ), c (h' i 0) 1) (H : β (i : ΞΉ), c (h i (f i)) (h' i (g i))) : c (f.prod h) (g.prod h') - DividedPowers.dpow_finsupp_sum π Mathlib.RingTheory.DividedPowers.Basic
{A : Type u_1} [CommSemiring A] {I : Ideal A} (hI : DividedPowers I) {ΞΉ : Type u_2} [DecidableEq ΞΉ] {x : ΞΉ ββ A} (hx : β (i : ΞΉ), x i β I) {n : β} : hI.dpow n (x.sum fun x r => r) = β k β x.support.sym n, x.prod fun i r => hI.dpow (Multiset.count i βk) r - DividedPowers.dpow_linearCombination π Mathlib.RingTheory.DividedPowers.Basic
{A : Type u_1} [CommSemiring A] {ΞΉ : Type u_2} [DecidableEq ΞΉ] {S : Type u_3} [CommSemiring S] [Algebra A S] {J : Ideal S} (hJ : DividedPowers J) {b : ΞΉ β S} {x : ΞΉ ββ A} (hx : β i β x.support, b i β J) {n : β} : hJ.dpow n (x.sum fun i r => r β’ b i) = β k β x.support.sym n, x.prod fun i r => r ^ Multiset.count i βk β’ hJ.dpow (Multiset.count i βk) (b i) - DividedPowerAlgebra.submodule_span_prod_dp_eq_top π Mathlib.RingTheory.DividedPowerAlgebra.Init
{R : Type u_4} {M : Type u_5} {ΞΉ : Type u_6} [CommRing R] [AddCommGroup M] [Module R M] {v : ΞΉ β M} (hv : Submodule.span R (Set.range v) = β€) : Submodule.span R (Set.range fun n => n.prod fun i k => DividedPowerAlgebra.dp R k (v i)) = β€ - TwoSidedIdeal.finsuppProd_mem π Mathlib.RingTheory.TwoSidedIdeal.BigOperators
{R : Type u_1} [CommRing R] (I : TwoSidedIdeal R) {ΞΉ : Type u_2} {Ξ² : Type u_3} [Zero Ξ²] (h : ΞΉ β Ξ² β R) {f : ΞΉ ββ Ξ²} (H : β i β f.support, h i (f i) β I) : f.prod h β I
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 69fae59