Ce travail est une contribution à la sémantique de jeux des langages de programmation. Il présente plusieurs méthodes nouvelles pour construire une sémantique de jeux pour un lambda-calcul de continuations.Si les sémantiques de jeux ont été développées à grande échelle pour fournir des modèles de langages fonctionnels avec références, en appel par nom et par valeur, ou pour différents fragments de la logique linéaire, certains de ses aspects demeurent cependant très subtils. Cette thèse s'intéresse spécifiquement à la notion d'innocence et à la combinatoire mise en jeu dans la composition des stratégies innocentes, en donnant pour chacune une interprétation via des constructions catégoriques standards.Nous reformulons la notion d'innocence en terme de préfaisceaux booléens sur une catégorie de vues. Pour cela, nous enrichissons la notion de parties dans notre sémantique de jeux en ajoutant des morphismes entre parties qui vont au-delà du simple ordre préfixe habituel. À partir d'une stratégie, donnée par les vues qu'elle accepte, on calcule son comportement sur toutes les parties en prenant une extension de Kan à droite.La composition des stratégies innocentes s'appuie sur les notions catégoriques habituelles de systèmes de factorisation et de foncteurs polynomiaux. Notre sémantique permet de modéliser l'interaction entre deux stratégies comme une seule stratégie dont il faut parvenir à cacher les coups internes, grâce à une technique d'élimination des coupures~: cette étape est accomplie avec une version affaiblie des systèmes de factorisation. La composition elle-même entre stratégies repose pour sa part sur l'utilisation de la théorie des foncteurs polynomiaux. Les propriétés essentielles, telles que l'associativité ou la correction de la sémantique, proviennent d'une méthode de preuve presque systématique donnée par cette théorie. / This work is a contribution to game semantics for programming languages. We describe new methods used to define a game semantics for a lambda-calculus with continuations.Game semantics have been widely used to provide models for functional programming languages with references, using call-by-name or call-by-value, or for different fragments of linear logic. Yet, some parts of these semantics are still highly subtle. This work mainly deals with the notion of innocence, and with combinatorics involved in composing innocent strategies. We provide both of them with an interpretation which relies on standard categorical constructions.We reformulate innocence in terms of boolean presheaves over a given category of views. We design for this purpose an enriched class of plays, by adding morphisms which do not appear in the traditional preorder of plays. We show how to compute the global behaviour, i.e., on every play, of a strategy given by its class of accepted views by taking a right Kan extension.Our composition of innocent strategies relies on the usual categorial notions of factorisation systems and polynomial functors. In our semantics, the interaction between two strategies is itself a strategy, in which we must hide internal moves with a cut-elimination process. This step is given by a weakened version of factorisations systems. The core of composition of strategies involves material borrowed from polynomial functors theory. This theory yields a systematic proof method for showing essential properties, such as associativity of composition, or correction of our semantics.
Identifer | oai:union.ndltd.org:theses.fr/2013GRENM083 |
Date | 23 October 2013 |
Creators | Hatat, Florian |
Contributors | Grenoble, Vuillon, Laurent, Hirschowitz, Tom |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.01 seconds