Formal Software Verification

3. Lecture 3: Programs and Theorems🔗

This lecture moves from proving to programming, following chapter 2 of the Hitchhiker's Guide to Logical Verification.A. Baanen, A. Bentkamp, J. Blanchette, J. Hölzl, J. Limperg, The Hitchhiker's Guide to Logical Verification, 2026 edition, chapter 2. It presents inductive types, function definitions by pattern matching and recursion, evaluation, and the statement of theorems about programs, without carrying out any proofs yet.

This lecture is also available as presentation slides.

  1. 3.1. From Proofs to Programs
  2. 3.2. Inductive Types
  3. 3.3. Functions by Pattern Matching and Recursion
  4. 3.4. Polymorphism and Implicit Arguments
  5. 3.5. Evaluation
  6. 3.6. Theorem Statements
  7. 3.7. Worked Examples
  8. 3.8. Exercises