Skip to content
scrambled
Programming Language Theory Concept

Curry-Howard correspondence

JourneyProgramming Language Theory Statuslearning Tags
  • logic
  • semantics
  • type theory

Remark. Brouwer-Heyting-Kolmogorov (BHK) interpretation makes this correspondence explicit:

  • Propositions ~ types.

  • Proofs ~ terms inhabiting those types.

Logic Programming
Proposition A Type A
Proof of A Term of type A
A→B Function type A→B
A∧B Product type A×B
A∨BSum type A+B
∀x. P(x) Dependent function ΠxP(x)
∃x. P(x) Dependent pair ΣxP(x)
  • BHK: A proof of A→B is a function transforming proofs of A into proofs of B.

  • Program: A term of type A→B is a function transforming terms of type A to terms of type B.