Skip to main content





Announcements

  • It's been a good semester! Enjoy your break.

Overview

This is a course on using proof assistants to build provably correct software: software accompanied by a formal proof of correctness. Normally, the word “proof“ means an informal English argument, but in this course, a proof is an explicit formal object constructed using a proof assistant. The proof assistant mechanically checks that each step in the proof is valid. Students learn to use the Coq proof assistant and use it to do a project in which the properties of some software system or language are formally modeled and proved. Students will also read and discuss papers related to certified software.

Instructors: Greg Morrisett and Andrew Myers