15-317 Constructive Logic
Lecture 4: Proofs as Programs

In this lecture we establish the Curry-Howard isomorphism between
constructive proofs and pure functional programs. This isomorphism
interprets propositions as types of a program language and proofs
as terms. We can also think of this as the study of proofs via
explicitly syntactic means, namely proof terms. We find that
conjunction correspond to product types, implication corresponds to
function types, and disjunction corresponds to sum types. Truth is
becomes the unit type and falsehood the empty type.