15317 Constructive Logic
Lecture 4: Proofs as Programs
In this lecture we establish the CurryHoward 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: 04pap.pdf
 Previous lecture: Harmony
 Next lecture: Subject Reduction
 Key concepts:
 CurryHoward isomorphism
 Proof terms
 Propositions as type
 Synthetic judgments
 Analytic judgments
[ Home
 Schedule
 Assignments
 Handouts
 Software
]
fp@cs
Frank Pfenning
