6.892 Interactive Computer Theorem Proving
Fall 2011
Instructor: Adam Chlipala
Lecture: TR2.30-4 (36-156)
Information:
Interactive proof assistant software makes it possible to build
mathematical proofs that can be checked algorithmically, providing
a much higher level of assurance than we can hope to achieve with
traditional human proof-checking. This technology has been in
development since at least the 1960's and has, around the start
of the 21st century, started to achieve significant popularity in
certain domains. Applications range from high-confidence
proofs of celebrated mathematical theorems like the four color
theorem, to proofs that particular pieces of executable software
obey their correctness specifications.
This course introduces general principles of interactive theorem
proving with the proof assistant Coq, with a focus on the
engineering techniques that are important for large developments,
whether for complex mathematical theories or the verification of
large, layered software systems. Students will do problem
sets proving some simple theorems and then carry out research
projects that apply the ideas of the course. The target
audience includes people interested in formalized mathematical
proofs for any domain.
Prerequisites: "mathematical maturity" and familiarity
with discrete math and logic (for instance, from 6.042J), plus some
programming experience
Text: online drafts of a textbook in progress, "Certified Programming with Dependent Types"
Announcements
Final feedback
Announced on 23 December 2011 1:01 p.m. by Adam Chlipala
Final project hand-in
Announced on 13 December 2011 8:14 a.m. by Adam Chlipala
Final project home stretch
Announced on 09 December 2011 2:39 p.m. by Adam Chlipala
Online subject evaluation
As I see it, there have been some high and low points of this semester, my first experience as the main instructor of a class. It will be very helpful to me in planning future iterations of the class to read your comments on what worked and what didn't. Thank you!
Announced on 05 December 2011 11:58 a.m. by Adam Chlipala
Presentation topics
Announced on 04 December 2011 2:32 p.m. by Adam Chlipala