Schedule
| Date | Topic | Reading | Assignments |
|---|---|---|---|
| Sep 2 | Course overview | Course syllabus; slides (PDF) | — |
| Sep 7 | Labour Day — no class | — | — |
| Sep 9 | Logic refresher and SAT solving | slides (PDF); COC 1.6-1.7; DP 2.2 | — |
| Sep 14 | SMT concepts and theories | Bradley and Manna, selected sections | — |
| Sep 16 | Encoding problems as SMT | Course notes | Assignment 1 released |
| Sep 21 | Hoare logic and verification conditions | Course notes | — |
| Sep 23 | Loop invariants | Course notes | — |
| Sep 27 | — | — | Assignment 1 due at 11:59 p.m. MT; |
| Sep 28 | Dafny | Dafny documentation, selected sections | Assignment 2 released |
| Sep 30 | National Day for Truth and Reconciliation — no class | — | Paper Review 1 released |
| Oct 5 | Conference travel — no class | — | — |
| Oct 7 | Conference travel — no class | — | Paper Review 1 due at 11:59 p.m. MT |
| Oct 11 | — | — | Assignment 2 due at 11:59 p.m. MT; |
| Oct 12 | Thanksgiving — no class | — | — |
| Oct 14 | Interactive theorem proving and Lean | Theorem Proving in Lean 4, selected sections | Assignment 3 released |
| Oct 19 | Inductive and recursive proofs | Course notes | — |
| Oct 21 | Program verification in Lean | Course notes | — |
| Oct 26 | Proposal Discussion | — | — |
| Oct 28 | Proposal Discussion | — | Assignment 3 due at 11:59 p.m. MT |
| Oct 30 | — | — | Project proposal due at 11:59 p.m. MT; |
| Nov 2 | Trust and proof engineering in interactive theorem provers | Course notes | Paper Review 2 released |
| Nov 4 | Automation, tactics, and proof debugging | Course notes | — |
| Nov 8 | — | — | Paper Review 2 due at 11:59 p.m. MT |
| Nov 9–13 | Reading Week — no class | — | — |
| Nov 16 | Selected topic | To be announced | |
| Nov 18 | No class meeting — project work | — | — |
| Nov 23 | Selected topic | To be announced | |
| Nov 25 | No class meeting — project work | — | — |
| Nov 30 | Selected topic | To be announced | — |
| Dec 2 | Project presentations I | — | Project presentation |
| Dec 7 | Project presentations II | — | Project presentation |
The schedule is tentative. Reading details, slides, and deadlines will be added as they are assigned.
Noting that: - “COC” refers to Aaron R. Bradley and Zohar Manna. The Calculus of Computation: Decision Procedures with Applications to Verification. Springer, 2007. - “DP” refers to Daniel Kroening and Ofer Strichman. Decision Procedures: An Algorithmic Point of View. Springer, 2016.