COMP4161

Advanced Topics in Software Verification

This UNSW course is about mechanical proof assistants, how they work, and what they can be used for. It is taught by members of the Trustworthy Systems group. The course presents specification and proof techniques used in industrial grade interactive theorem provers, teaches the theoretical background to the techniques involved, and shows how to use a theorem prover to conduct formal proofs in practice.

Topics include higher order logic, natural deduction, lambda calculus, term rewriting, data types and recursive functions, induction principles, and proofs about programs. See the course outline for a full content overview and prerequisites.

The course will provide hands-on experience with the proof assistant Isabelle/HOL.

Session times:

  • Mon, 12:00h - 14:00h AEDT @ Science & Engineering G07 (K-E8-G07)
  • Wed, 12:00h - 14:00h AEDT @ Rupert Myers Theatre (K-M15-1001)
  • Lectures are running weeks 1-5 and 7-10, delivery is hybrid in T3 2024. The Zoom will be found on Moodle (but not yet).

Lectures

Slides and Isabelle files will be made available online as the lectures progress.

Isabelle hints

Setting up Isabelle, basic rules and cheat sheet.

Textbook

Textbook, further reading, and links the tools used in the lecture.

Slides

Will become available here as course progresses.

Week 1 (A): intro, untyped lambda calculus

slides [pdf], slides with animations [pdf], intro demo [thy], lambda calculus demo [thy]

Assignment 1

To be announced

Assignment 2

To be announced

Assignment 3

To be announced

Contact

Forum

We are using Ed for class discussions. Please post questions about lecture material or the assignments and so forth.

Lecturers

Consults by appointment.