CS 15-212: Fundamental Structures of Computer Science II
We review the methods of mathematical and complete induction and show how they can be applied to prove the correctness of ML functions. Key is the understanding of the operational semantics of ML.
Induction can be a difficult proof technique to apply, since we often need to generalize the theorem we want to prove, before the proof by induction goes through. Sometimes, this requires considerable ingenuity.