Formal Software Verification

1. Lecture 1: Motivation and Propositional Logic🔗

This lecture motivates formal software verification and reviews propositional logic, following chapter 1 of How To Prove It with Lean (HTPIwL). It presents the connectives, the classical equivalences, the natural deduction rules, their encoding in Lean as proof terms, and proofs with tactics.

This lecture is also available as presentation slides.

  1. 1.1. Why Verify Software Formally?
  2. 1.2. Propositions
  3. 1.3. Connectives
  4. 1.4. Logical Equivalence
  5. 1.5. Natural Deduction
  6. 1.6. The Syntax of Lean
  7. 1.7. Natural Deduction in Lean
  8. 1.8. Proving with Tactics
  9. 1.9. Worked Examples
  10. 1.10. Exercises