Logique, Réalisabilité et Concurrence Emmanuel Beffara To cite this version: Emmanuel Beffara. Logique, Réalisabilité et Concurrence. Mathématiques [math]. Université Paris- Diderot - Paris VII, 2005. Français. NNT: . tel-00011205 HAL Id: tel-00011205 https://theses.hal.science/tel-00011205 Submitted on 15 Dec 2005 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Université Paris 7 – Denis-Diderot UFR d’Informatique Thèse pour l’obtention du diplôme de Docteur de l’Université Paris 7, spécialité informatique Logique, Réalisabilité et Concurrence présentée et soutenue publiquement par Emmanuel Beffara le 6 décembre 2005 devant le jury composé de M. Vincent Danos directeur de thèse M. Thomas Ehrhard M. Marcelo Fiore rapporteur M. Kohei Honda M. Martin Hyland rapporteur M. Jean-Louis Krivine ii Merci Merci à Vincent Danos qui, tout en me laissant toujours une grande liberté, a beaucoup influencé mon travail et ma vision de la science. MerciàMarceloFioreetàMartinHylandd’avoiracceptéd’êtrelesrapporteurs de cette thèse. MerciàThomasEhrhard,MarceloFiore,KoheiHonda,MartinHylandetJean- LouisKrivined’avoiracceptédefairepartiedujury.Jesuisextrèmementhonoré de la présence de chacun d’entre eux. Merci à mon coauteur François Maurel, dont l’influence sur cette thèse ne se limite pas à sa participation au chapitre 8. Merciàtouslesmembresdel’équipePPS,etnotammentàJuliuszChroboczek, Jean-Louis Krivine, Olivier Laurent, Paul-André Melliès et Alexandre Miquel qui, au cours de nombreuses discussions sur la science et le reste, ont beaucoup contribué à mon édification. Merci à ceux d’ailleurs qui m’ont incité à leur raconter l’avancement de mes travaux, parmi lesquels Laurent Regnier et Daniel Hirschkoff, et merci à Jade Alglave dont le stage a contribué à me mettre les idées en place. Merci aux joyeux thésards de PPS et du Liafa qui, par leurs discussions pas toujours scientifiques, sont largement responsables de la bonne ambiance qui règne à Chevaleret. Merci à mes amis et parents pour leur soutien et leur encouragement, et mes excuses pour n’avoir pas toujours su leur expliquer mes travaux. Et merci à ceux qui se sentiraient vexés de ne pas avoir été remerciés ici. iv Table des matières Notations 1 1 Introduction 3 1.1 Logique et calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Programmation concurrente . . . . . . . . . . . . . . . . . . . . . 7 1.3 Plan de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Réalisabilité classique 13 2.1 Curry-Howard en logique classique . . . . . . . . . . . . . . . . . 14 2.1.1 Un λ-calcul avec contrôle . . . . . . . . . . . . . . . . . . 14 2.1.2 Réalisabilité classique . . . . . . . . . . . . . . . . . . . . 15 2.1.3 Quantification du premier ordre. . . . . . . . . . . . . . . 19 2.2 Types de données . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.1 Définition d’un type . . . . . . . . . . . . . . . . . . . . . 22 2.2.2 Réalisabilité . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2.3 Opérateurs . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 Structures de contrôle typées 29 3.1 Approches de la disjonction . . . . . . . . . . . . . . . . . . . . . 29 3.1.1 Loi de Peirce . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.1.2 Le tiers-exclu . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.1.3 Le tiers-exclu symétrique . . . . . . . . . . . . . . . . . . 34 3.1.4 Tautologies disjonctives . . . . . . . . . . . . . . . . . . . 35 3.2 Formes normales disjonctives . . . . . . . . . . . . . . . . . . . . 38 3.2.1 Spécifications . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2.2 Synthèse de combinateurs . . . . . . . . . . . . . . . . . . 42 3.2.3 Correction. . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4 Le π-calcul polarisé 51 4.1 Termes et réductions . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.1.1 Sémantique par réduction . . . . . . . . . . . . . . . . . . 53 4.1.2 Système de transition étiqueté . . . . . . . . . . . . . . . 56 4.2 Bisimulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.3 Typage des noms . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.3.1 Types et interfaces . . . . . . . . . . . . . . . . . . . . . . 62 4.3.2 Connexion et substitution . . . . . . . . . . . . . . . . . . 64 4.3.3 Localisation et abstraction . . . . . . . . . . . . . . . . . 66 vi Table des matières 4.4 Comparaison avec d’autres calculs . . . . . . . . . . . . . . . . . 67 4.4.1 Substitution, fusion, connexion . . . . . . . . . . . . . . . 67 4.4.2 Autres systèmes de types . . . . . . . . . . . . . . . . . . 69 5 Réalisabilité concurrente 71 5.1 Logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.2 Réalisabilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.2.1 Orthogonalité, comportements . . . . . . . . . . . . . . . 75 5.2.2 Multiplicatifs : connecteurs spatiaux . . . . . . . . . . . . 78 5.2.3 Modalités : connecteurs temporels . . . . . . . . . . . . . 82 5.2.4 Adéquation . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.3 Observations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.3.1 Démon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.2 May testing . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5.3.3 Fair testing . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.3.4 Terminaison . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.4 Connecteurs construits . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4.1 Modalités linéaires . . . . . . . . . . . . . . . . . . . . . . 90 5.4.2 Choix et gardes . . . . . . . . . . . . . . . . . . . . . . . . 91 5.4.3 Points fixes . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.4.4 Répétitions . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.4.5 Synthèse. . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6 Traduction de systèmes classiques 101 6.1 λ-calcul simplement typé . . . . . . . . . . . . . . . . . . . . . . 101 6.2 Logique classique : LKT et LKQ . . . . . . . . . . . . . . . . . . 105 6.2.1 Traductions . . . . . . . . . . . . . . . . . . . . . . . . . . 105 6.2.2 Simulation en appel par nom . . . . . . . . . . . . . . . . 109 6.2.3 Simulation en appel par valeur . . . . . . . . . . . . . . . 112 6.3 Correction sémantique . . . . . . . . . . . . . . . . . . . . . . . . 115 6.3.1 Observations et environnements. . . . . . . . . . . . . . . 116 6.3.2 D’une réalisabilité à l’autre . . . . . . . . . . . . . . . . . 117 7 Exemples d’applications 121 7.1 Spécification de processus . . . . . . . . . . . . . . . . . . . . . . 121 7.1.1 Construction de tests . . . . . . . . . . . . . . . . . . . . 121 7.1.2 Bon comportement des termes typés . . . . . . . . . . . . 122 7.1.3 Schémas de routage . . . . . . . . . . . . . . . . . . . . . 124 7.2 Contrôle et concurrence . . . . . . . . . . . . . . . . . . . . . . . 127 7.2.1 Linéarité en λ-calcul . . . . . . . . . . . . . . . . . . . . . 127 7.2.2 Linéarité et parallélisme . . . . . . . . . . . . . . . . . . . 131 7.2.3 Choix et contraction . . . . . . . . . . . . . . . . . . . . . 132 8 Réseaux concurrents 137 8.1 Termes et graphes . . . . . . . . . . . . . . . . . . . . . . . . . . 138 8.1.1 Exemples introductifs . . . . . . . . . . . . . . . . . . . . 138 8.1.2 Termes et transitions . . . . . . . . . . . . . . . . . . . . . 139 8.1.3 Graphes et réductions . . . . . . . . . . . . . . . . . . . . 144 8.1.4 Fragments . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 8.2 Expressivité des gardes monotones . . . . . . . . . . . . . . . . . 149 Table des matières vii 8.2.1 Traduction explosive . . . . . . . . . . . . . . . . . . . . . 150 8.2.2 Traduction par duos . . . . . . . . . . . . . . . . . . . . . 151 8.3 Extensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 8.3.1 Réplication . . . . . . . . . . . . . . . . . . . . . . . . . . 154 8.3.2 Sommes et gardes non monotones . . . . . . . . . . . . . 156 Conclusion 161 Bibliographie 165 viii Table des matières Notations Réalisabilité classique notation ensemble entité définition x,y,z λ-variables 2.1 (p. 14) t,u,v Λ λ-termes ′′ ρ,ρ constantes de pile ′′ i π,π Π piles ′′ i t∗π Λ×Π exécutables ′′ ⊥⊥ observation, orthogonalité 2.4 (p. 16) [A] P(Π) valuation 2.6 (p. 17) A P(Λ) interprétation, synonyme de [A]⊥⊥ ′′ Jt(cid:13)KA t réalise A, synonyme de t∈ A ′′ J K Ensembles et variables variable ensemble entité définition ε P polarité 4.1 (p. 52) u,v,x N nom (de canal) 4.2 (p. 52) α,β action élémentaire ′′ S,T Σ branchement / processus séquentiel ′′ P,Q Π processus / terme du ~π-calcul ′′ e étiquette de transition 4.10 (p. 56) ℓ,m L localité 8.1 (p. 139) π,ρ Υ garde ′′ s,t type de canal 4.19 (p. 62) I,J,K interface ′′ A,B C comportement 5.9 (p. 76) I p,q processus anonyme 4.29 (p. 66) I,J,K sorte / interface anonyme ′′ A,B C type / comportement anonyme 5.9 (p. 76) I Γ,∆ séquent / type de processus 5.1 (p. 72)
Description: