Documentation

Mathlib.Algebra.BigOperators.Group.Finset.Preimage

Sums and products over preimages of finite sets. #

theorem Finset.prod_preimage' {ι : Type u_1} {κ : Type u_2} {β : Type u_3} [CommMonoid β] (f : ικ) [DecidablePred fun (x : κ) => x Set.range f] (s : Finset κ) (hf : Set.InjOn f (f ⁻¹' s)) (g : κβ) :
xs.preimage f hf, g (f x) = xfilter (fun (x : κ) => x Set.range f) s, g x
theorem Finset.sum_preimage' {ι : Type u_1} {κ : Type u_2} {β : Type u_3} [AddCommMonoid β] (f : ικ) [DecidablePred fun (x : κ) => x Set.range f] (s : Finset κ) (hf : Set.InjOn f (f ⁻¹' s)) (g : κβ) :
xs.preimage f hf, g (f x) = xfilter (fun (x : κ) => x Set.range f) s, g x
theorem Finset.prod_preimage {ι : Type u_1} {κ : Type u_2} {β : Type u_3} [CommMonoid β] (f : ικ) (s : Finset κ) (hf : Set.InjOn f (f ⁻¹' s)) (g : κβ) (hg : xs, xSet.range fg x = 1) :
xs.preimage f hf, g (f x) = xs, g x
theorem Finset.sum_preimage {ι : Type u_1} {κ : Type u_2} {β : Type u_3} [AddCommMonoid β] (f : ικ) (s : Finset κ) (hf : Set.InjOn f (f ⁻¹' s)) (g : κβ) (hg : xs, xSet.range fg x = 0) :
xs.preimage f hf, g (f x) = xs, g x
theorem Finset.prod_preimage_of_bij {ι : Type u_1} {κ : Type u_2} {β : Type u_3} [CommMonoid β] (f : ικ) (s : Finset κ) (hf : Set.BijOn f (f ⁻¹' s) s) (g : κβ) :
xs.preimage f , g (f x) = xs, g x
theorem Finset.sum_preimage_of_bij {ι : Type u_1} {κ : Type u_2} {β : Type u_3} [AddCommMonoid β] (f : ικ) (s : Finset κ) (hf : Set.BijOn f (f ⁻¹' s) s) (g : κβ) :
xs.preimage f , g (f x) = xs, g x