Thèse soutenue

De la sémantique des effets : centralité, contrôle quantique et récursivité réversible

FR  |  
EN
Auteur / Autrice : Louis Lemonnier
Direction : Pablo ArrighiBenoit ValironVladimir Zamdzhiev
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 19/06/2024
Etablissement(s) : université Paris-Saclay
Ecole(s) doctorale(s) : École doctorale Sciences et technologies de l'information et de la communication
Partenaire(s) de recherche : Laboratoire : Laboratoire Méthodes formelles (Gif-sur-Yvette, Essonne ; 2021-....)
référent : Faculté des sciences d'Orsay
graduate school : Université Paris-Saclay. Graduate School Informatique et sciences du numérique (2020-....)
Jury : Président / Présidente : Jean Goubault-Larrecq
Examinateurs / Examinatrices : Laurent Régnier, Thomas Ehrhard, Claudia Faggian, Marie Kerjean
Rapporteurs / Rapporteuses : Laurent Régnier, Thomas Ehrhard

Résumé

FR  |  
EN

Le sujet de cette thèse est axé sur la théorie des langages de programmation. Dans un langage de programmation suffisamment bien défini, le comportement des programmes peut être étudié à l'aide d'outils empruntés à la logique et aux mathématiques, énonçant des résultats sans exécuter le code. Ce domaine de l'informatique est appelé "sémantique". La sémantique d'un langage peut se présenter sous plusieurs formes : dans notre cas, des sémantiques opérationnelles, des théories équationnelles et des sémantiques dénotationnelles. Les premières donnent un sens opérationnel aux programmes, au sein de la syntaxe du langage. Elles simulent les opérations qu'un ordinateur est censé effectuer s'il exécute le programme. Une théorie équationnelle fonctionne également de manière syntaxique : elle indique si deux programmes effectuent la même opération sans informer sur la procédure. Enfin, la sémantique dénotationnelle est l'étude mathématique des programmes, généralement à l'aide de la théorie des catégories. Elle permet par exemple de prouver qu'un programme se termine ou non. Cette thèse se concentre sur la sémantique des effets dans les langages de programmation - une fonctionnalité ajoutée à un langage, gérant des données secondaires ou des résultats probabilistes. Eugenio Moggi, en 1991, a publié un travail fondateur sur l'étude de la sémantique des effets, soulignant la relation avec les monades en théorie des catégories. La première contribution de cette thèse suit directement le travail de Moggi, en étudiant la commutativité des effets dans un langage de programmation à travers le prisme des monades. Les monades sont la généralisation de structures algébriques telles que les monoïdes, qui ont une notion de centre : le centre d'un monoïde est une collection d'éléments qui commutent avec tous les autres dans le monoïde. Nous fournissons les conditions nécessaires et suffisantes pour qu'une monade ait un centre. Nous détaillons également la sémantique d'un langage de programmation avec des effets qui portent des informations sur les effets qui sont centraux. De plus, nous fournissons un lien fort - un résultat de langage interne - entre ses théories équationnelles et sa sémantique dénotationnelle. Le deuxième axe de la thèse est l'informatique quantique, perçue comme un effet réversible. Le quantique est un domaine émergent de l'informatique qui utilise la puissance de la mécanique quantique pour calculer. Au niveau des langages de programmation, de nouveaux paradigmes doivent être développés pour être fidèles aux opérations quantiques. Les opérations quantiques physiquement permises sont toutes réversibles, à l'exception de la mesure ; cependant, la mesure peut être reportée à la fin du calcul, ce qui nous permet de nous concentrer d'abord sur la partie réversible et d'appliquer ensuite la mesure pour obtenir des résultats. Dans le chapitre correspondant, nous définissons un langage de programmation réversible, avec types simples, qui effectue des opérations quantiques "unitaires". Une sémantique dénotationnelle et une théorie équationnelle adaptées au langage sont présentées, et nous prouvons que cette dernière est complète. Ce travail vise à fournir des bases solides pour l'étude du contrôle quantique d'ordre supérieur. En outre, nous étudions la récursion réversible, en fournissant une sémantique opérationnelle et dénotationnelle adéquate à un langage de programmation fonctionnel, réversible et Turing-complet. La sémantique dénotationnelle utilise l'enrichissement dcpo des catégories inverses. Ce modèle mathématique sur l'informatique réversible ne se généralise pas directement à sa version quantique. Dans la conclusion, nous détaillons les limites et l'avenir possible du contrôle quantique d'ordre supérieur.