Visualizing Curry-Howard Correspondence
A tutorial on finding programs of proofs.
The Curry-Howard Correspondence says that types of terms (programs) corresponds to theorems of some logic, and the programs corresponds to the proofs of the theorems. So when a proposition $\psi$ can be proven from a set of premises, then there is derivation of some term with type $\psi$ from a typing context, where the typing context contains a term of type $\phi$ for each premise $\phi$, and vice versa. Essentially,
\[ \begin{gather*} \phi_1, \phi_2, \dots, \phi_n \tf \psi\\ \text{ iff }\\ \alpha_1 : \phi_1, \alpha_2 : \phi_2, \dots, \alpha_n : \phi_n \tf \beta : \psi \end{gather*} \]where a statement like $\alpha_1 : \phi_1$ says that $\alpha_1$ has type $\phi_1$.
Here, we will concern ourselves with intuitionist (propositional) logic and an equivalent type system, namely a type system with function types, product types, and sum types. Then, we will show some proofs to see, in …
...