# Finite sums over modules over a ring #

theorem List.sum_smul {R : Type u_5} {M : Type u_6} [] [] [Module R M] {l : List R} {x : M} :
l.sum x = (List.map (fun (r : R) => r x) l).sum
theorem Multiset.sum_smul {R : Type u_5} {M : Type u_6} [] [] [Module R M] {l : } {x : M} :
l.sum x = (Multiset.map (fun (r : R) => r x) l).sum
theorem Multiset.sum_smul_sum {R : Type u_5} {M : Type u_6} [] [] [Module R M] {s : } {t : } :
s.sum t.sum = (Multiset.map (fun (p : R × M) => p.1 p.2) (s ×ˢ t)).sum
theorem Finset.sum_smul {ι : Type u_1} {R : Type u_5} {M : Type u_6} [] [] [Module R M] {f : ιR} {s : } {x : M} :
(is, f i) x = is, f i x
theorem Finset.sum_smul_sum {α : Type u_3} {β : Type u_4} {R : Type u_5} {M : Type u_6} [] [] [Module R M] {f : αR} {g : βM} {s : } {t : } :
(is, f i) it, g i = ps ×ˢ t, f p.1 g p.2
theorem Finset.cast_card {α : Type u_3} {R : Type u_5} [] (s : ) :
s.card = as, 1
theorem Fintype.sum_piFinset_apply {ι : Type u_1} {κ : Type u_2} {α : Type u_3} [] [] [] (f : κα) (s : ) (i : ι) :
gFintype.piFinset fun (x : ι) => s, f (g i) = s.card ^ () bs, f b