Lecture 3 : Functional programming with COQ