Let's prove Leibniz's formula by induction. For the base case n=0, we have
(f⋅g)(0)(a)=f(a)g(a)=(00)f(0)(a)g(0)(a).For the induction step, suppose the formula holds for n. Then,
(f⋅g)(n+1)(a)=((f⋅g)(n)(a))′=(k=0∑n(kn)f(k)(a)g(n−k)(a))′=k=0∑n(kn)(f(k+1)(a)g(n−k)(a)+f(k)(a)g(n−k+1)(a))=k=0∑n(kn)f(k+1)g(n−k)+k=0∑n(kn)f(k)g(n+1−k)=f(0)g(n+1)+f(n+1)g(0)+k=1∑n(k−1n)f(k)g(n+1−k)+k=1∑n(kn)f(k)g(n+1−k)=f(0)g(n+1)+f(n+1)g(0)+k=1∑nf(k)g(n+1−k)((k−1n)+(kn))=f(0)g(n+1)+f(n+1)g(0)+k=1∑n(kn+1)f(k)g(n+1−k)=k=0∑n+1(kn+1)f(k)g(n+1−k).with
(k−1n)+(kn)=(kn+1)because
(k−1n)+(kn)=(k−1)!(n−k+1)!n!+k!(n−k)!n!=k!(n+1−k)!n!k+n!(n+1−k)=k!(n+1−k)!n!(k+n+1−k)=k!(n+1−k)!(n+1)!.