$$\sum_{i=0}^{n-1}\ \sum_{j=i+1}^n\ \sum_{k=1}^j 1$$
I am studying The Algorithm Design Manual, so I have access to the process of simplification from http://www.algorist.com/algowiki/index.php/TADM2E_2.1. But I don't understand how each step leads to the next.
The first part of the of the answer from that page is:
$$\sum_{i=0}^{n-1}\ \sum_{j=i+1}^n\ j$$
That makes sense. Repeatedly summing "1" from 1 to j is just j. I can reason that.
But the next step is listed as:
$$\sum_{i=0}^{n-1}\ \biggl(\sum_{j=1}^nj\ - \sum_{j=1}^ij \biggr)$$
And that's where my reasoning starts to fall apart. What is going on and where should I look to learn more about this? Google searches for "how to multiply Riemann sums" and similar phrases return almost nothing related to this.
Thanks!
These are sums, not Riemann sums, so your searches are probably leading you astray. Also, you are not multiplying anything, you are nesting sums. You want to manipulate sums.
One random Google hit for "manipulating sums" is
It seems like a reasonable place to start. The step you were stopped by is the third bullet there, "Adding/subtracting missing terms".
Many more examples are on the English Wikipedia page for Summation. The step you were stopped by is the variant immediately following "splitting a sum".