Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation
Dans la première partie, on propose un système de type pour le lambda-calcul, dans le style du calcul des séquents, nomme « Soft Type Assignment » (STA) qui est inspiré par la logique linéaire « soft ». STA a la propriété de réduction du sujet et est correct et complète pour les calculs en temps pol...
Main Author: | |
---|---|
Other Authors: | |
Language: | en |
Published: |
2007
|
Subjects: | |
Online Access: | http://www.theses.fr/2007INPL099N/document |
id |
ndltd-theses.fr-2007INPL099N |
---|---|
record_format |
oai_dc |
spelling |
ndltd-theses.fr-2007INPL099N2019-05-24T03:32:18Z Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation Linearity : an analytic tool in the study of complexity and semantics of programming languages Complexité implicite Logique linéaire Lambda-calcul Sémantique denotationelle Implicit computational complexity Denotational semantics Linear logic Lambda-calculus Dans la première partie, on propose un système de type pour le lambda-calcul, dans le style du calcul des séquents, nomme « Soft Type Assignment » (STA) qui est inspiré par la logique linéaire « soft ». STA a la propriété de réduction du sujet et est correct et complète pour les calculs en temps polynomial. Par la suite on propose un déduction naturelle, STA_N. Ce système est simple mais il a le désavantage que les variables dans le sujet peuvent être explicitement renommées. Pour résoudre ce problème, on propose le système STA_M, où les contextes sont des multi-ensembles, donc les règles pour renommer les variables peuvent être interdit. L’inférence de type pour STA_M ne semble pas décidable. On propose un algorithme qui pour chaque lambda-terme rend l’ensemble de contraintes que doivent être satisfait pour que le terme soit type. Pi est correct et complet. Ensuite on étend le lambda-calcul par des constantes booléennes et on propose le système STA_B. La particularité de STA_B est que la règle du conditionnel utilise les contextes de façon additive. Chaque programme de STA_B peut être exécuté, par une machine abstraite, en espace polynomial. De plus le système est aussi complet pour PSPACE. Dans la deuxième partie, on propose une restriction de PCF, nommée SlPCF. Ce langage est équipé avec une sémantique opérationnelle qui mélange l’appelle par nom et l’appelle par valeur et peut être interprèté en mode standard dans les espaces cohérents linéaires. SlPCF est complet pour les fonctions récursives, mais il n’est pas complet et donc il n’est pas fully abstract pour les espaces cohérents linéaires In the first part, we propose, inspired by Soft Linear Logic, a type assignment system for lambda-calculus in sequent calculus style, named Soft Type Assignment (STA). STA enjoys the subject reduction property. and is correct and complete for polynomial time computations. Then, we propose a natural deduction named STA_N. While simple, STA_N has the disadvantage of allowing the explicit renaming of variables in the subject. To overcome to this problem, we propose another natural deduction system, named STA_M, where contexts are multisets, hence rules renaming variables can be avoided. The type inference for STA_M seems in general undecidable. We propose an algorithm Pi returning, for every lambda-term, a set of constraints that need to be satisfied in order to type the term. Pi is correct and complete. We extend the lambda-calculus by basic boolean constants and we propose the system STA_B. The peculiarity of STA_B is that the conditional rule treats the contexts in an additive way. Every STA_B program can be executed, through an abstract machine, in polynomial space. Moreover, STA_B is also complete for PSPACE. In the second part we propose a restriction of PCF, named SlPCF. The language is naturally equipped with an operational semantics mixing call-by-name and call-by-value parameter passing and it can be interpreted in linear coherence space in a standard way. SlPCF is recursive complete, but it is not complete, and thus not fully abstract, with respect to linear coherence spaces Electronic Thesis or Dissertation Text en http://www.theses.fr/2007INPL099N/document Gaboardi, Marco 2007-12-12 Vandoeuvre-les-Nancy, INPL Université de Torino - ITALIE Marion, Jean-Yves Ronchi Della Rocca, Simona |
collection |
NDLTD |
language |
en |
sources |
NDLTD |
topic |
Complexité implicite Logique linéaire Lambda-calcul Sémantique denotationelle Implicit computational complexity Denotational semantics Linear logic Lambda-calculus |
spellingShingle |
Complexité implicite Logique linéaire Lambda-calcul Sémantique denotationelle Implicit computational complexity Denotational semantics Linear logic Lambda-calculus Gaboardi, Marco Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
description |
Dans la première partie, on propose un système de type pour le lambda-calcul, dans le style du calcul des séquents, nomme « Soft Type Assignment » (STA) qui est inspiré par la logique linéaire « soft ». STA a la propriété de réduction du sujet et est correct et complète pour les calculs en temps polynomial. Par la suite on propose un déduction naturelle, STA_N. Ce système est simple mais il a le désavantage que les variables dans le sujet peuvent être explicitement renommées. Pour résoudre ce problème, on propose le système STA_M, où les contextes sont des multi-ensembles, donc les règles pour renommer les variables peuvent être interdit. L’inférence de type pour STA_M ne semble pas décidable. On propose un algorithme qui pour chaque lambda-terme rend l’ensemble de contraintes que doivent être satisfait pour que le terme soit type. Pi est correct et complet. Ensuite on étend le lambda-calcul par des constantes booléennes et on propose le système STA_B. La particularité de STA_B est que la règle du conditionnel utilise les contextes de façon additive. Chaque programme de STA_B peut être exécuté, par une machine abstraite, en espace polynomial. De plus le système est aussi complet pour PSPACE. Dans la deuxième partie, on propose une restriction de PCF, nommée SlPCF. Ce langage est équipé avec une sémantique opérationnelle qui mélange l’appelle par nom et l’appelle par valeur et peut être interprèté en mode standard dans les espaces cohérents linéaires. SlPCF est complet pour les fonctions récursives, mais il n’est pas complet et donc il n’est pas fully abstract pour les espaces cohérents linéaires === In the first part, we propose, inspired by Soft Linear Logic, a type assignment system for lambda-calculus in sequent calculus style, named Soft Type Assignment (STA). STA enjoys the subject reduction property. and is correct and complete for polynomial time computations. Then, we propose a natural deduction named STA_N. While simple, STA_N has the disadvantage of allowing the explicit renaming of variables in the subject. To overcome to this problem, we propose another natural deduction system, named STA_M, where contexts are multisets, hence rules renaming variables can be avoided. The type inference for STA_M seems in general undecidable. We propose an algorithm Pi returning, for every lambda-term, a set of constraints that need to be satisfied in order to type the term. Pi is correct and complete. We extend the lambda-calculus by basic boolean constants and we propose the system STA_B. The peculiarity of STA_B is that the conditional rule treats the contexts in an additive way. Every STA_B program can be executed, through an abstract machine, in polynomial space. Moreover, STA_B is also complete for PSPACE. In the second part we propose a restriction of PCF, named SlPCF. The language is naturally equipped with an operational semantics mixing call-by-name and call-by-value parameter passing and it can be interpreted in linear coherence space in a standard way. SlPCF is recursive complete, but it is not complete, and thus not fully abstract, with respect to linear coherence spaces |
author2 |
Vandoeuvre-les-Nancy, INPL |
author_facet |
Vandoeuvre-les-Nancy, INPL Gaboardi, Marco |
author |
Gaboardi, Marco |
author_sort |
Gaboardi, Marco |
title |
Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
title_short |
Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
title_full |
Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
title_fullStr |
Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
title_full_unstemmed |
Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
title_sort |
linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation |
publishDate |
2007 |
url |
http://www.theses.fr/2007INPL099N/document |
work_keys_str_mv |
AT gaboardimarco lineariteunoutilanalytiquepourletudedelacomplexiteetdelasemantiquedeslangagesdeprogrammation AT gaboardimarco linearityananalytictoolinthestudyofcomplexityandsemanticsofprogramminglanguages |
_version_ |
1719192147264012288 |