Isomorphisme de Curry-Howard

Cet article est une ébauche à compléter, vous pouvez partager vos connaissances en le modifiant.

L'isomorphisme de Curry-Howard est une relation entre la logique mathématique et l'informatique, par l'intermériaire du lambda-calcul. En effet on peut voir le type d'une fonction comme une formule booléenne.

Par exemple en lambda calcul simplement typé, si on associe à chaque type de base une variable propositionnelle et que l'on associe l'implication logique au type \rightarrow alors l'ensemble des formules vraies correspond aux types des termes clos du lambda-calcul typé.

Par exemple pour la formule A \Rightarrow A on peut construire le lambda-terme λxa.x

Par contre il n'y a pas de lambda terme clos pour la formule A car on ne peut que faire le terme xa mais ce n'est pas un terme clos vu que la variable x est libre.

Si on étend le lambda calcul au produit cartésien, on aura parallèlement le et logique. Si on rajoute la somme disjointe (types somme ou structures) on aura le ou logique. Dans les lambda-calculs d'ordre supérieurs on rajoute des variables de types donc des quantificateurs. Cela donne les pour tout.

Grâce à cet isomorphisme on peut prouver la consistance d'une logique en démontrant la normalisation forte du lambda-calcul associé. C'est ainsi que Jean Yves Girard a démontré la consistance de la logique intuitionniste du second ordre en démontrant la normalisation forte du Système F.

Quelques correspondances entre systèmes fonctionnels et systèmes formels
Système fonctionnel Système formel
Calcul des constructions (Thierry Coquand)  ?
Système F (Jean-Yves Girard) Arithmétique de Peano du second ordre / Logique intuitionniste du second ordre
Système T (Kurt Gödel) Arithmétique de Peano du premier ordre / Logique intuitionniste du premier ordre
Système T1  ?
T0 (Récursion primitive) (Stephen Cole Kleene ? Thoralf Skolem ?) Arithmétique primitive récursive
lambda-calcul simplement typé Calcul propositionnel intuitionniste

Un logicien français, Jean-Louis Krivine a fait le rapport entre différents théorèmes mathématiques et les programmes informatiques qu'ils représentent.

See also: Isomorphisme de Curry-Howard, Fonction récursive primitive, Informatique, Kurt Gödel, Lambda-calcul, Logique (mathématiques), Stephen Cole Kleene, Système F, Système T