Theorem Proving - Principles, Techniques, Applications
COMP4161 is a 6 UoC advanced NICTA course at CSE/UNSW aimed at fourth year and postgraduate students. Third and second year students with permission of lecturer are welcome.The course is about mechanical proof assistants, how they work, and what they can be used for. It presents specification and proof techniques used in industrial grade theorem provers, teaches the theoretical background to the techniques involved, and shows how to use a theorem prover to conduct formal proofs in practice. The course is intended to bring fourth year and postgraduate students into contact with current research topics in the field of theorem proving and automated deduction and to teach them the necessary skills to successfully use industrial grade verification environments in modelling and verification.
Topics include higher order logic, natural deduction, lambda calculus, term rewriting, data types and recursive functions, induction principles, calculational reasoning, mathematical proofs, decision procedures for a variety of logical domains, and proofs about programs.
The course will provide hands-on experience with the proof assistant Isabelle/HOL.
Prerequisites:
Familiarity with functional programming and mathematical logic is required.
Session times:
- Tue, 9:00h - 10:30h (Law 163/F8-163)
- Thu, 9:00h - 10:30h (Australian School of Business 205/E12-205)