The Curry–Howard Correspondence: Proofs as Programs
An introduction to the deep isomorphism between type systems and intuitionistic logic — where every proof is a program and every proposition is a type.
The Curry–Howard correspondence is one of the most beautiful results in theoretical computer science: it establishes a deep isomorphism between proof systems and type systems.
The Core Idea
The fundamental slogan is:
More precisely, under the Curry–Howard correspondence:
| Logic | Type Theory |
|---|---|
| Proposition | Type |
| Proof of | Term |
| (function type) | |
| (product type) | |
| (sum type) | |
| (false) | Void (empty type) |
Intuitionistic Logic and -Calculus
The correspondence was first observed between:
- Intuitionistic propositional logic (Heyting’s formalization)
- Simply typed -calculus (Church’s type theory)
A proof of in natural deduction corresponds to a -term of type :
The modus ponens rule corresponds to function application:
Normalization = Proof Simplification
A remarkable consequence: cut-elimination in proof theory corresponds to -reduction in the -calculus.
This means that simplifying a proof (removing detours via the cut rule) is the same as evaluating a program. Termination of evaluation = consistency of logic.
Extensions
The correspondence extends far beyond the simply typed case:
- System F ↔ Second-order propositional logic
- Dependent types ↔ First-order predicate logic (Martin-Löf type theory)
- Linear types ↔ Linear logic (Girard)
- Modal types ↔ Modal logic (S4, etc.)
This is the foundation for proof assistants like Coq, Agda, and Lean 4.
A Concrete Example
Here is the identity proof/program:
-- The proposition "A implies A"
id : (A : Set) → A → A
id A x = x
This term inhabits the type , which corresponds to the tautology .
Further Reading
- Howard, W.A. (1980). “The formulae-as-types notion of construction”
- Wadler, P. (2015). “Propositions as Types” — Communications of the ACM
- Martin-Löf, P. (1984). Intuitionistic Type Theory