Skip to content

Schedule

Slides are posted after each lecture. Each lecture has one primary reading; read it before class. Topic order and readings may be adjusted during the term.

Week 1 · What does it mean to verify?

Lecture 1 · Verification claims, experience, and AI

Lecture 2 · A verification session in SeaHorn

Week 2 · Deductive verification with Verus

Lecture 3 · Rust contracts and inductive invariants

Lecture 4 · When a proof becomes difficult; working with an agent

Week 3 · What happens inside an SMT query?

Lecture 5 · Programming and understanding an SMT solver

  • Slides: posted after the lecture
  • Reading: Programming Z3, interface material and CDCL(T)

Lecture 6 · EUF and congruence closure

Week 4 · Verification conditions

Lecture 7 · Simplify the program until VCGen is simple

Lecture 8 · Encodings, solver results, and reduction choices

  • Slides: posted after the lecture
  • Reading: TinyTAC/VCGen notes, posted with the slides

Week 5 · Memory and ownership

Lecture 9 · Raw memory, safety, and analysis information

Lecture 10 · Ownership and prophecy

Week 6 · Automatic invariant discovery

Lecture 11 · Abstract interpretation as invariant discovery

Lecture 12 · Understanding an inferred proof and a false alarm

Week 7 · Horn clauses and induction

Lecture 13 · CHCs as a verification interface

Lecture 14 · IC3/PDR: trying to block a bad state

Week 8 · Property-directed reasoning

Lecture 15 · Generalization, propagation, and convergence

Lecture 16 · Spacer and the effect of the encoding

Week 9 · Proof assistants with AI agents

Lecture 17 · Enough Lean to inspect a formalization

Lecture 18 · Software models and agent-assisted proofs

Week 10 · From Rust to functional proofs

Lecture 19 · Functional translation and backward functions

Lecture 20 · Verifying translated software with agents

Week 11 · Checking verification tools

Lecture 21 · Product programs and equivalence checking

Lecture 22 · CTAC: assessing an agent-built verifier

  • Slides: posted after the lecture
  • Reading: CTAC notes, posted with the slides

Week 12 · Student investigations

Project presentations.