Nous proposons dans ce manuscrit un nouveau cadre sémantique, basé sur la composition de variantes Linéaires de la réalisabiblité de Krivine et du forcing de Cohen. Le premier ingrédient est la Monitoring Abstract Machine : un environnement de calcul qui utilise des cases mémoires réservées utilisées pour "surveiller" l'exécuter des programmes, dans le style de la KFAM introduite par Miquel. Cette machine émerge naturellement d'une transformation de programme basée sur un forcing Linéaire. Nous introduisons par la suite la notion centrale d'Algèbre de Monitoring et le modèle de réalisabiblité associé. Chaque algèbre de monitoring induit une sémantique correcte pour un langage de programmation associé. Nous utilisons ensuite la technique de forcing itéré pour combiner plusieurs algèbres de monitoring. Nous montrons que la structure de forcing peut être utilisée pour représenter la consommation de ressources (en particulier le temps), le step-indexing ou encore des références d'ordre supérieur. Nous appliquons notre théorie pour obtenir trois preuves de corrections complexes : - Nous donnons la première preuve sémantique de la cohérence d'une théorie des ensembles naïve sans contraction introduite par Grishin. - Nous utilisons notre cadre pour obtenir un résultat de terminaison en temps polynomial pour un langage de programmation avec types récursifs basé sur une logique light. - Nous reprouvons la correction d'un langage avec références d'ordre supérieur et mise à jour forte, inspiré par un système de type introduit par Ahmed et al. / In this thesis, we are interested in semantical proof of correctness results for complex programming languages. We advocate the need for a theoretical framework that allows one to build realizability semantics using basic blocks and use algebraic constructions to combine those blocks. We propose a framexork based on the composition of Linear variants of Krivine realizability and Cohen forcing. The first ingredient of environment that prossesses special memory cells used to monitor the execution of programs, in the style of Miquel's KFAM. It is shown how this new machine emerges from a Linear forcing program transformation. We then introduce the central notionof Monitoring Algebra and the associated realizability interpretation. Different monitoring algebras induce sound semantics of different programing languages. We then present an algebraic construction to combine different Monitoring Algebras based on the techniuqe of forcing iteration. We show that the forcing structure can be used to represent the consumption or resources, in particular time, but also step-indexing or the use of higher-order references. We finally apply our results to retrieve three complex soundness results : - We give the first semantical proof of the consistency of a contraction-free nave set theory, originally introduced by Grishin. - Wuse our framework to obtain a polynomial time terminationresult for a light-logic based programming language featuring recursive types. - We reprove to soundness of a language with references that supports strong updates, based on a Linear type system inspired by a workof Ahmed et al.
Identifer | oai:union.ndltd.org:theses.fr/2014PA132069 |
Date | 27 June 2014 |
Creators | Brunel, Aloïs |
Contributors | Paris 13, Guerrini, Stefano, Mazza, Damiano |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | English |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0015 seconds