SymPy で数列の和 $\displaystyle \sum_{k=1}^n k^m, \quad m = 1, 2, 3, \dots$ の公式がわかるよ,と説明したら,その証明を求められそうなので,メモ。
from sympy.abc import *
from sympy import *
$\displaystyle\sum_{k=1}^n k$ = summation(k, (k, 1, n))
summation(k, (k, 1, n)).factor()
証明
\begin{eqnarray}
\sum_{k=1}^n k &=& \frac{1}{2} \biggl\{1 + 2 + \cdots + (n-1) + n \\
&=& \quad\ \ \, n + (n-1) + \cdots + 2 + 1 \biggr\} \\
&=& \frac{1}{2} \sum_{k=1}^n \left(n+1\right)\\
&=& \frac{1}{2} n (n+1)
\end{eqnarray}
でもこれだと,次の $\displaystyle \sum_{k=1}^n k^2$ や $\displaystyle \sum_{k=1}^n k^3$ のときには応用できないので,別解:
\begin{align}
& &(k+1)^2 -k^2 &= 2 k + 1\\ \ \\
&k=1: & 2^2 -1^1 &= 2\cdot 1 + 1 \\
&k=2: & 3^2 -2^2 &= 2\cdot 2 + 1 \\
& & &\ \ \vdots\\
&k=n-1: & n^2 -(n-1)^2 &= 2\cdot(n-1) + 1\\
&k=n: &(n+1)^2 -n^2 &= 2\cdot n + 1
\end{align}
$k=1$ から $k=n$ までの式の両辺を足し合わせて
\begin{align}
(n+1)^2 -1 &= 2 \sum_{k=1}^n k + n \\
\therefore \ \ n^2 + 2 n &= 2 \sum_{k=1}^n k + n \\
\therefore\ \ \sum_{k=1}^n k &= \frac{n(n+1)}{2}
\end{align}
$\displaystyle\sum_{k=1}^n k^2$ = summation(k**2, (k, 1, n))
summation(k**2, (k, 1, n)).factor()
証明
\begin{align}
& &(k+1)^3 -k^3 &= 3 k^2 + 3 k + 1\\ \ \\
&k=1: & 2^3 -1^3 &= 3\cdot 1^2 + 3\cdot 1 + 1 \\
&k=2: & 3^3 -2^3 &= 3\cdot 2^2 + 3\cdot 2 + 1 \\
& & &\ \ \vdots\\
&k=n-1: & n^3 -(n-1)^3 &= 3\cdot(n-1)^2 + 3\cdot (n-1) + 1\\
&k=n: &(n+1)^3 -n^3 &= 3\cdot n^2 + 3\cdot n + 1
\end{align}
$k=1$ から $k=n$ までの式の両辺を足し合わせて
\begin{align}
(n+1)^3 -1 &= 3 \sum_{k=1}^n k^2 + 3 \sum_{k=1}^n k + n \\
\therefore \ \ n^3 + 3 n^2 + 3 n &= 3 \sum_{k=1}^n k^2 + 3\cdot\frac{n(n+1)}{2} + n \\
\therefore\ \ \sum_{k=1}^n k^2 &= \frac{1}{3}\left\{n^3 + 3 n^2 + 3 n -3\frac{n(n+1)}{2} -n\right\}\\
&= \frac{n(n+1)(2 n+1)}{6}
\end{align}
$\displaystyle\sum_{k=1}^n k^3$ = summation(k**3, (k, 1, n))
summation(k**3, (k, 1, n)).factor()
証明は…
Eq((k+1)**4 - k**4, expand((k+1)**4 - k**4))
ですから,$k=1$ から $k=n$ までの
$$(k+1)^4 -k^4 = 4 k^3 + 6 k^2 + 4 k + 1$$
の両辺を足し合わせれば証明できますので,やってみて。