Correspondance de Curry-Howard

isomorphisme entre les programmes informatiques et les preuves mathématiques

La correspondance de Curry-Howard, appelée[1] également isomorphisme de Curry-de Bruijn-Howard, 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é. Ils établissent des relations 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, lorsque Haskell Curry remarqua l'analogie formelle entre les démonstrations des systèmes à la Hilbert et la logique combinatoire, puis à 1969, quand 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 1960 à nos jours : sémantique dénotationnelle, logique linéaire, réalisabilité, démonstration automatique, etc.

Historique

modifier

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

modifier

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

modifier

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

modifier

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

modifier

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

modifier
Quelques correspondances entre systèmes fonctionnels et systèmes formels
Système fonctionnel Système formel
Calcul des constructions (Thierry Coquand) Logique intuitionniste d'ordre supérieur
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 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  
Réalisabilité classique / Lambda-calcul avec contrôle / Machine de Krivine Logique classique du deuxième ordre

Logique et informatique

modifier

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 :

Conséquences juridiques

modifier

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.

Bibliographie

modifier

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

modifier
  1. La terminologie isomorphisme de Curry-Howard employée dans les années 1990, est devenue moins courante.
  2. 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.
  3. [PDF] 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).
  4. Bernard Lang, « Internet libère les logiciels », La recherche, no 328,‎ (lire en ligne)