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.

  • Reading: 04-pap.pdf
  • Previous lecture: Harmony
  • Next lecture: Subject Reduction
  • Key concepts:
    • Curry-Howard isomorphism
    • Proof terms
    • Propositions as type
    • Synthetic judgments
    • Analytic judgments

[ Home | Schedule | Assignments | Handouts | Software ]

fp@cs
Frank Pfenning