You're right; sorry. I was stuck (as my comments indicate) on thinking of the classical setting of calculus, where functions can differ by a constant; but, since your functions are implicitly extended by 0, they cannot so differ! That is, unlike the constant function 0 : Z -> R, the 'constant' function 1 : N -> R isn't really constant once we regard it as a function Z -> R.
P.S. I am a mathematician; Python convinces me of nothing but special cases. :-)
Δg(i) = g(0) if i = 0, else g(i) − g(i − 1)
Σg(i) = Σ{n: 0 → i} g(n)
Note that Δg(0) = g(0) by these definitions, and note that Σg(0) = g(0) as well. Call these the "zeroth element relations." (Also note that I am saying Σg(0) where perhaps [Σg](0) would be more clear.)
I will observe a very simple lemma which embeds Σg in a recursive form:
Σg(n + 1) = Σg(n) + g(n + 1) for any g, any n in N.
On to the proof. ΣΔF(0) = F(0) by composing those two zeroth element relations. Also, if ΣΔF(n) = F(n) for any n, then I claim that ΣΔF(n + 1) = F(n + 1). Proof:
ΣΔF(n + 1) = ΣΔF(n) + ΔF(n + 1), by the lemma.
ΣΔF(n + 1) = F(n) + ΔF(n + 1), because "if ΣΔF(n) = F(n)".
ΣΔF(n + 1) = F(n) + F(n + 1) − F(n), by definition of Δ.
ΣΔF(n + 1) = F(n + 1)
Since it holds for n=0, and whenever it holds for n, it holds for n + 1, by induction this holds for all n in N and therefore, by induction:
ΣΔF = F
The reverse argument is also pretty simple. It's also obviously true for n = 0 due to the zeroth element relations. For n > 0 we don't even need induction:
ΔΣF(n) = ΣF(n) − ΣF(n − 1), by definition of Δ
ΔΣF(n) = ΣF(n − 1) + F(n) − ΣF(n − 1), by lemma
ΔΣF(n) = F(n)
ΔΣF = F.
If you still don't believe me, here it all is in Python:
Enjoy. :-)