## Resources

## Lecture Notes

- Lecture Notes for 2020 (will evolve as course proceeds)
- Coq files
- Getting Started
- Computational Primitives
- Propositions as Types
- Dependent Function Types
- Leibniz Equality
- Inductive Elimination
- Cantor Pairing
- Existential Quantification
- Recursive Specification of Functions
- Informative Types
- Numbers
- Size Recursion
- Existential Witness Operators
- Lists
- Expression Compiler
- Data Types
- Finite Types
- Axiomatic Freedom
- Natural Deduction

- Videos of lectures given in 2020
- Lecture notes and Coq files from 2019
- Videos explaining how to write proofs (diagrams and Coq)

## Coq

- There are two ways to install Coq (Version 8.11).
- Linux/OSX: Install Coq via the the OCaml package manager opam.
- Windows: Download the Windows installer from the release page.

- There are two user interfaces for Coq: CoqIDE and Proof General. You can choose which one you want to use.
**CoqIDE**: You can download and install CoqIDE along with the rest of Coq via opam and it is included in the Windows installer. Documentation about CoqIDE can be found here.**Proof General**: Proof General is an emacs mode that supports many theorem provers, including Coq. Using Proof General, Company Coq is an extension allowing you to look up lemmas and the Coq Documentation. Both Proof General and Company Coq can be installed via the emacs package archive melpa.

- Coq Documentation
- An online book on software foundations starting with an introduction to Coq

(by Benjamin Pierce and others) - A book on certified programming with dependent types using Coq

(by Adam Chlipala)

## Literature

- Zhaohui Luo,

Computation and Reasoning: A Type Theory for Computer Science.

Oxford University Press, 1994. - Henk Barendregt and Herman Geuvers,

Proof-checking using Dependent Type Systems.

Handbook of Automated Reasoning, Volume II, 1149--1240.

Elsevier 2001. - Jean-Yves Girard,

Proofs and Types.

Cambridge University Press, 1990. - Dag Prawitz,

*Natural Deduction, a Proof-theoretical Study.*

Dover Publications, 2006. (first published 1965) - The Univalent Foundations Program

Homotopy Type Theory.

Institute for Advanced Study, Princeton, 2013. - M.H. Sorensen and P. Urzyczyn,

Lectures on the Curry-Howard Isomorphism.

Elsevier, 2006. - Yves Bertot and Pierre Castéran,

Interactive Theorem Proving and Program Development.

Coq'Art: The Calculus of Inductive Constructions.

Springer, 2004. - Thomas Forster,

*Logic, Induction and Sets.*

Cambridge University Press, 2003. - Peter B. Andrews,

*An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof.*

Kluwer Academic Publishers, 2002. - J. Roger Hindley and Jonathan P. Seldin,

*Lambda Calculus and Combinators: An Introduction.*

Cambridge University Press, 2008. - Anne S. Troelstra and Helmut Schwichtenberg,

*Basic Proof Theory.*2nd edition.

Cambridge University Press, 2000. - Franz Baader and Tobias Nipkow,

*Term Rewriting and All That.*

Cambridge University Press, 1998. - Per Martin-Löf,
*Intuitionistic Type Theory*.

Bibliopolis, 1984. - Biographies of important logicians