- Correspondance de Curry-Howard
-
La correspondance de Curry-Howard, appelée[1] également correspondance preuve/programme ou correspondance formule/type, est une série de résultats à la frontière entre la logique mathématique, l'informatique théorique et la théorie de la calculabilité établissant une relation entre les démonstrations formelles d'un système logique et les programmes d'un modèle de calcul. Les premiers exemples de correspondance de Curry-Howard remontent à 1958 date à laquelle Curry remarqua l'analogie formelle entre les démonstrations des systèmes à la Hilbert et la logique combinatoire, puis à 1969 où William Alvin Howard remarqua que les démonstrations en déduction naturelle intuitionniste pouvaient formellement se voir comme des termes du lambda-calcul typé.
La correspondance de Curry-Howard a joué un rôle important en logique, car elle a établi un pont entre théorie de la démonstration et informatique théorique. On la retrouve utilisée sous une forme ou une autre dans de très nombreux travaux allant des années 60 à nos jours : sémantique dénotationnelle, logique linéaire, réalisabilité, démonstration automatique...
Sommaire
Historique
La correspondance de Curry-Howard était formulée par Curry pour la logique combinatoire dès la fin des années quarante. 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 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émontrations 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.
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 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 minimal implicatif (déduction naturelle) Logique combinatoire Calcul propositionnel minimal implicatif (à la Hilbert) Calcul lambda-µ de Parigot Déduction naturelle en calcul propositionnel classique Calcul lambda-µ-µ~ de Curien et Herbelin Calcul des séquents classique Calcul symétrique de Berardi et calcul dual de Wadler Calcul des séquents avec et Logique et informatique
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é).
- le théorème d'incomplétude de Gödel qui dit qu'il y a des théorèmes que l'on ne peut pas démontrer correspond à un programme de réparation de fichiers.[réf. souhaitée]
- le théorème de complétude de Gödel correspond lui à un désassembleur interactif de programmes[3].
Bibliographie
Le livre de référence est le livre de Girard-Lafont-Taylor connu sous le nom de "Girafon". 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 90, 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,
- Voir en ligne. Jean-Louis Krivine, Une preuve formelle et intuitionniste du théorème de complétude de la logique classique, Bull. Symb. Log. 2, 4, p. 405-421 (1996).
Wikimedia Foundation. 2010.