La correspondance de Curry-Howard était formulée par Curry pour la logique combinatoire dès la fin des années 1940. Howard a publié en 1980[2] un article qui présente formellement la correspondance pour le lambda calcul simplement typé, mais il n'a fait que rendre public un document qui avait déjà circulé dans le monde des logiciens. Elle était connue indépendamment de Joachim Lambek pour les catégories cartésiennes fermées, de Girard pour le système F et de de Bruijn pour le système Automath. Au moins ces cinq noms pourraient être associés à ce concept.
Logique implicative minimale
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 constructeur de type alors les propositions démontrables de la logique implicative minimale (où le seul connecteur est l'implication) correspondent aux types des termes clos du lambda calcul.
Par exemple, à la proposition on associe le lambda-terme .
En revanche, il n'y a pas de lambda terme clos associé à la proposition ou à la proposition (loi de Peirce), car elles ne peuvent pas être démontrées en logique implicative minimale.
Mais la correspondance s'étend aussi aux démonstrations et aux normalisations de démonstrations comme suit :
les types sont les propositions ;
les termes sont les démonstrations ;
les réductions des termes sont les normalisations de démonstrations.
Terminaison de réductions de preuves en déduction modulo
Cette correspondance est notamment utile afin de montrer la réduction (ou démonstration) de certaines preuves dans des théories de la déduction modulo. Ainsi, dans le cas où les preuves (propositions) sont exprimées par des termes (appelés preuves-termes) en lambda-calcul simplement typé, il est nécessaire de considérer les preuves comme des algorithmes. Les preuves de sont désormais des algorithmes qui, à des preuves de , associent des preuves de . Le type de s'exprime alors de la manière suivante
Sans perte de généralité, la correspondance s'exprime par un isomorphisme de l'ensemble des preuves-termes vers l'ensemble des types de preuves-termes. La terminaison de la -réduction du lambda-calcul simplement typé permet dès lors de conclure sur la terminaison de diverses réductions de preuves dans des théories en déduction modulo.
Calcul propositionnel
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.
Calcul du second ordre
Grâce à cette correspondance on peut prouver la cohérence d'une logique en démontrant la normalisation forte du lambda-calcul associé (aucun terme ne se réduit infiniment). C'est ainsi que Jean-Yves Girard a résolu la conjecture de Takeuti, à savoir démontrer la cohérence de l'arithmétique du second ordre ; il l'a fait en établissant la normalisation forte du système F.
Correspondances
Quelques correspondances entre systèmes fonctionnels et systèmes formels
Le 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 :
l'absurde (appelé « bottom » : ) correspond à une instruction d'échappement, d'exception, ou à un programme qui ne finit pas (un terme non typable dans le lambda-calcul simplement typé) ;
Comme l'a relevé Bernard Lang[4], la correspondance de Curry-Howard constitue un argument contre la brevetabilité du logiciel. Puisque les algorithmes sont des méthodes mathématiques, et que ces dernières sont exclues par nature du champ de la brevetablilité, alors les algorithmes ne peuvent être brevetés.
Jean-Yves Girard, Le Point Aveugle, Cours de Logique, éd. Hermann, Paris, collection « Visions des Sciences », tome 1 : Vers la Perfection, 2006, 280 p. Ce cours de théorie de la démonstration s'ouvre sur une réflexion sur l'état actuel de la logique (essentialisme et existentialisme, théorème d'incomplétude de Gödel, calcul des séquents), poursuit sur la Correspondance de Curry-Howard (système F, interprétation catégorique), puis motive et décrit la logique linéaire (espaces cohérents, système LL, réseaux de démonstration).
Notes et références
↑La terminologie isomorphisme de Curry-Howard employée dans les années 1990, est devenue moins courante.
↑Howard, W., The formulas--as--types notion of construction, in Essays on Combinatory Logic, Lambda Calculus, and Formalism, Seldin, J. P. and Hindley, J. R. ed., Academic Press (1980), pp. 479--490.