Anything on the schedule more than 24 hours in advance is subject to change.
| Week | Day | Description | Readings | Slides | Due |
|---|---|---|---|---|---|
| 1 | 1/13 | intro to theorem proving | LF Preface, demo | PPT, PDF | |
| 1 | 1/15 | programming and proving in Rocq | LF Basics | PPT, PDF | |
| 2 | 1/20 | basics, continued | ” | ||
| 2 | 1/22 | proof by induction | LF Induction | ||
| 3 | 1/27 | induction, continued | ” | Homework 1 | |
| 3 | 1/29 | data structures in Rocq | LF Lists | ||
| 4 | 2/3 | lists, continued | ” | ||
| 4 | 2/5 | proof tactics | LF Tactics | Homework 2 due 2/8 | |
| 5 | 2/10 | tactics, continued | ” | ||
| 5 | 2/12 | mathematical logic | LF Logic | ||
| 6 | 2/17 | logic, continued | ” | Homework 3 | |
| 6 | 2/19 | logic, intro to Iris | Iris basics | PPT, PDF | |
| 7 | 2/24 | Iris basics | ”, pure | Homework 4 | |
| 7 | 2/26 | HeapLang, specs | lang, specifications | ||
| 8 | 3/3 | specs, continued | |||
| 8 | 3/5 | Iris list proofs | linked_lists | Homework 5 due 3/6 | |
| 9 | 3/10 | list proofs, continued | ” | initial project proposal | |
| 9 | 3/12 | list proofs, continued | ” | ||
| 10 | 3/17 | invariants | invariants | revised project proposal | |
| 10 | 3/19 | invariants, continued | ” | Homework 6 | |
| 11 | 3/31 | concurrency | structured_conc | ||
| 11 | 4/2 | missed class | Homework 7 | ||
| 12 | 4/7 | concurrency, continued | ” | ||
| 12 | 4/9 | concurrency, continued | ” | ||
| 13 | 4/14 | building an Iris logic | project status report due 4/14 | ||
| 13 | 4/16 | building an Iris logic, continued | Homework 8 due 4/17 | ||
| 14 | 4/21 | real languages | Iris Project | PPT, PDF | |
| 14 | 4/23 | concurrency: locks | spin_lock | ||
| 15 | 4/28 | concurrency: ghost state | counter | ||
| 15 | 4/30 | review/the big picture | PPT, PDF | project due 5/1 |