Documentation

Mathlib.Algebra.BigOperators.Module

Summation by parts #

theorem Finset.sum_Ico_by_parts {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (f : R) (g : M) {m : } {n : } (hmn : m < n) :
(Finset.sum (Finset.Ico m n) fun (i : ) => f i g i) = ((f (n - 1) Finset.sum (Finset.range n) fun (i : ) => g i) - f m Finset.sum (Finset.range m) fun (i : ) => g i) - Finset.sum (Finset.Ico m (n - 1)) fun (i : ) => (f (i + 1) - f i) Finset.sum (Finset.range (i + 1)) fun (i : ) => g i

Summation by parts, also known as Abel's lemma or an Abel transformation

theorem Finset.sum_range_by_parts {R : Type u_1} {M : Type u_2} [Ring R] [AddCommGroup M] [Module R M] (f : R) (g : M) (n : ) :
(Finset.sum (Finset.range n) fun (i : ) => f i g i) = (f (n - 1) Finset.sum (Finset.range n) fun (i : ) => g i) - Finset.sum (Finset.range (n - 1)) fun (i : ) => (f (i + 1) - f i) Finset.sum (Finset.range (i + 1)) fun (i : ) => g i

Summation by parts for ranges