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.Ico m n).sum fun (i : ) => f i g i) = ((f (n - 1) (Finset.range n).sum fun (i : ) => g i) - f m (Finset.range m).sum fun (i : ) => g i) - (Finset.Ico m (n - 1)).sum fun (i : ) => (f (i + 1) - f i) (Finset.range (i + 1)).sum 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.range n).sum fun (i : ) => f i g i) = (f (n - 1) (Finset.range n).sum fun (i : ) => g i) - (Finset.range (n - 1)).sum fun (i : ) => (f (i + 1) - f i) (Finset.range (i + 1)).sum fun (i : ) => g i

Summation by parts for ranges