Amortized Analysis and the Potential Method

Why a dynamic array's O(n) resize is still O(1) per push, and how to prove it rather than hand-wave it.