|
Formal Methods Foundation
Resources
Textbooks and Reference
There are no required textbooks for this course, for no single
book will cover the contents of this course in sufficient
depth and width. Instead, we'll follow the lecture notes handed
out in class closely. For those who are anxious for this, here
are some books for reference:
- Software Foundations.
Benjamin Pierce, &c. Book Draft.
- Certified Programming with Dependent Types.
Adam Chlipala. Book Draft.
- Types and Programming Languages.
Benjamin Pierce. MIT Press. 2002.
- Constructive Logic. Frank Pfenning. Book Drafts.
- A Mathematical Introduction to Logic, Second Edition. Herbert B. Enderton.
Academic Press. 2000.
- Lectures on the Curry-Howard Isomorphism.
Morten Heine B. Sorensen and Pawel Urzyczyn. Book Drafts.
- Logic in Computer Science: Modelling and Reasoning about Systems 2nd Edition.
Michael Huth and Mark Ryan. Cambridge University press. 2004.
- The Calculus of Computation. Decision Procedures with Applications to Verification.
Aaron R. Bradley; Zohar Manna. Springer. 2007.
- Decision Procedures: An Algorithmic Point of View 2nd ed.
Daniel Kroening, Ofer Strichman. Springer. 2016.
Software
- Coq: an interactive proof assistant
- Z3: an open source SMT solver from Microsoft research
- TeX & LaTeX: a scientific document
preparing system. It's also helpful to use this package
to typeset proof and this one to typeset code.
|