Thèse soutenue

Linéarité : un outil analytique pour l'étude de la complexité et de la sémantique des langages de programmation

FR  |  
EN
Auteur / Autrice : Marco Gaboardi
Direction : Jean-Yves MarionSimona Ronchi Della Rocca
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 12/12/2007
Etablissement(s) : Vandoeuvre-les-Nancy, INPL en cotutelle avec Université de Torino - ITALIE
Ecole(s) doctorale(s) : École doctorale IAEM Lorraine - Informatique, Automatique, Électronique - Électrotechnique, Mathématiques de Lorraine (1992-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire lorrain de recherche en informatique et ses applications
Jury : Président / Présidente : Jacqueline Vauzeilles
Examinateurs / Examinatrices : Jean-Yves Marion, Simona Ronchi Della Rocca, Jacqueline Vauzeilles, Simone Martini, Patrick Baillot, Paolo Coppola
Rapporteurs / Rapporteuses : Jacqueline Vauzeilles, Simone Martini

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

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