Quelle est la situation actuelle des programmes parallèles ou simultanés dans l'isomorphisme de Curry-Howard?


9

Dans Girard's Proofs and Types, nous pouvons lire:

D'un point de vue algorithmique, le calcul séquentiel n'a pas d'isomorphisme de Curry-Howard, en raison de la multitude de façons d'écrire la même preuve. Cela nous empêche de l'utiliser comme un -calculus typé, bien que nous apercevions une structure profonde de ce type, probablement liée au parallélisme.λ

Épreuves et types , JY Girard (Page 28)

Mais nous pouvons également lire (à propos de la logique linéaire) que

Du point de vue de l'informatique, il propose une nouvelle approche des questions de paresse, d'effets secondaires et d'allocation de mémoire [GirLaf, Laf87, Laf88] avec des applications prometteuses au parallélisme.

Preuves et types , JY Girard (Page 149, écrit par Yves Lafont)

Comment les programmes parallèles sont-ils liés à l'isomorphisme de Curry-Howard? Quelles sont les réflexions actuelles à ce sujet?

Réponses:


7

Le cadre logique simultané est un domaine intéressant, y compris ses descendants, comme Linear Meld et LolliMon . Ceci est basé sur une logique linéaire intuitionniste.

La logique linéaire classique a des connexions avec la machine linéaire chimique abstraite (CHAM) comme décrit par exemple par un calcul pour les réseaux d'interaction basé sur la machine abstraite chimique linéaire qui décrit explicitement le résultat comme un résultat de type Curry-Howard.

La thèse d'Alexander Summers Curry-Howard Term Calculi for Gentzen-Style Classical Logics que je n'ai pas lu semble viser directement le problème de la fourniture d'une correspondance de Curry-Howard pour les calculs de Gentzen-style. Le -calculus de Curien et Herbelin introduit dans The Duality of Computation est un travail séminal dans cette veine de calculs lambda (non linéaires) correspondant aux logiques classiques.λμ

Quoi qu'il en soit, tout cela reste un domaine de recherche animé. Il existe de nombreux articles récents sur ce sujet. Ce qui précède ne mentionne même pas le côté encore plus sous-structurel de la logique de séparation et la théorie de type Hoare correspondante qui se concentre sur les langages de programmation impératifs. Par exemple, il existe Vers une sémantique de type théorique pour la concurrence transactionnelle dont vous pouvez retracer les références pour des travaux antérieurs.

(Comme une note pédante, la plupart d'entre elles sont axées sur la concurrence , et non sur le parallélisme en soi.)


D'accord. J'ai modifié le titre de ma question pour la rendre un peu plus large. Je ne savais pas que la simultanéité avait un lien avec Curry-Howard. Mais qu'en est-il du parallélisme?
Boris

Dans une vue de programmation fonctionnelle de Curry-Howard, tout parallélisme (pur) se produirait au niveau des réécritures de preuve et il y en a généralement beaucoup (chaque fois qu'il y a plusieurs redexes). Vous pouvez ajouter des annotations comme Haskell parpour le contrôler (c'est-à-dire qu'un ordre de réduction moins parallèle pourrait être utilisé par défaut qui pourrait être sélectivement rendu plus parallèle) mais ils n'auraient aucune signification logique.
Derek Elkins a quitté le SE

4

Pour la concurrence en général, il existe une ligne de recherche très active, que j'ai essayé de résumer dans cette réponse: https://cs.stackexchange.com/a/102711/98901

J'ajoute ici un commentaire sur le parallélisme, ci-dessous.


Avron [1996] a introduit la notion d' hyperséquents , c'est-à-dire des collections de séquences dans les jugements.

GHG|H|PQGHP|QPQG|H

Nous venons de commencer à gratter la surface de l'interprétation sémantique de ceci, mais que c'est du parallélisme est assez évident: la sémantique de la composition parallèle permet de voir des actions simultanées des deux processus, et il y a un théorème dans le papier indiquant qu'aucun des les deux processus doivent attendre que l'autre exécute au moins une action (le théorème de préparation). L'extension à plus de deux actions en même temps semble simple. (La dactylographie le permet déjà, mais la sémantique de cet article n'en tire pas pleinement parti.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.