Assignments
There will be three marked assignments in the course. The schedule and marking formula are described in the lecture slides and in the informal course outline.
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.
Slides and Isabelle files will be made available online as the lectures progress.
Lecture recordings can be found on Echo360 via the course moodle page.
Setting up Isabelle, basic rules and cheat sheet.
Textbook, further reading, and links the tools used in the lecture.
Will become available here as course progresses.
slides [pdf], slides with animations [pdf], intro demo [thy], lambda calculus demo [thy], more demo to come
slides [pdf], slides with animations [pdf], demo [thy]. Lecture will continue into week 2.
There will be three marked assignments in the course. The schedule and marking formula are described in the lecture slides and in the informal course outline.
submit using give:
give cs4161 a1 a1.thy
You can also use the web interface.
We are using this Discourse forum for class discussions. Please post questions about lecture material, the assignments and so forth on the forum.
Consults by appointment.