CSCI1951-X
Formal Proof and Verification
Fall 2024
Proof assistants are tools that are used to check the correctness of programs. Unlike tools like model checkers and SAT solvers, proof assistants are highly interactive. Machine-checked formal proofs lead to trustworthy programs and fully specified reliable mathematics. This course introduces students to the theory and use of proof assistants, using the system Lean. We will use Lean to verify properties of functional programs and theorems from pure mathematics. We will learn the theory of deductive reasoning and the logic that these tools are based on.
Text: "The Hitchhiker's Guide to Logical Verification" by Blanchette et al.
Prereqs: CSCI 1710 Logic for Systems or a proof-based mathematics course. Basic familiarity with functional programming (e.g. Haskell, ML) is helpful but not required.
Instructor's Permission Required
Instructor(s): | |
Meets: | MW 9:30am-10:50am in CIT Center (Thomas Watson CIT) 241 |
Exam: | No final exam has been scheduled for this course by the department through the registrar's office. Please consult syllabus or contact instructor. If an exam were to have scheduled, it would have been held: |
Max Seats: | 22 |
CRN: | 18797 |