## 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.

- Mathematical induction
- Complete induction
- Generalizing the induction hypothesis

- Some notes on induction (also in PDF format)

Frank Pfenning fp@cs