From proof terms to programs : . an operational and quantitative study of intuistionistic Curry-Howard calculi - TEL - Thèses en ligne
Thèse Année : 2022

From proof terms to programs : . an operational and quantitative study of intuistionistic Curry-Howard calculi

Des termes de preuves aux programmes : une étude opérationnelle et quantitative de calculs Curry-Howard intuitionnistes

Loîc Peyrot
  • Fonction : Auteur
  • PersonId : 1346964
  • IdRef : 275315088

Résumé

The lambda-calculus is a mathematical model of functional programming languages, with an emphasis on function application. Variants of the calculus are of interest to model specific computational behaviors. The atomic lambda-calculus and the lambda-calculus with generalized applications are two (independent) variants of the lambda-calculus originating in computational interpretations of proof theory. While programming languages are built from specific deterministic evaluation strategies, the existing literature on the atomic lambda-calculus and generalized applications only go over the general theory of the calculi. In particular, reduction of terms is unrestricted, and only analyzed qualitatively. This induces a gap between theory and practice, which we strive to diminish in this thesis. Starting from the atomic lambda-calculus, we isolate the most salient concept of its operational semantics, that we call node replication. This is a particular substitution procedure, which duplicates terms finely, one node of the syntax tree at a time. We follow up with lambda-calculi with generalized applications. They use a ternary application constructor, adding a continuation to the usual binary application. In this work, we develop the operational theories built on node replication and generalized applications separately. For the two of them: On an operational level, we give several evaluation strategies, all observationally equivalent to the corresponding strategies in the lambda-calculus. On a logical level, our approach is guided by quantitative types. We provide different type systems that inductively characterize semantic properties, but also give quantitative bounds on the length of reduction and the size of normal forms. More precisely, in the first part of this thesis, we implement node replication by means of an explicit substitution calculus. We show in particular how node replication can be used to implement full laziness, a well-known evaluation strategy for functional programming languages like Haskell. We prove observational equivalence properties relating the fully lazy semantics with the standard ones. In the second part of the thesis, we start with an operational and logical characterization of solvability in lambda-calculi with generalized applications. We show how this framework gives rise to a remarkable operational theory of call-by-value. The call-by-name characterization relies on an original calculus with generalized applications. We show in both cases that the operational semantics are compatible with a quantitative model, unlike the one of the original call-by-name calculus. We then prove essential properties of this new call-by-name calculus, and show observational equivalence with the original one.
Le lambda-calcul est un modèle mathématique des langages de programmation fonctionnels, avec un accent sur l'application de fonctions. Il est intéressant de considérer des variants du lambda-calcul pour modéliser des comportements calculatoires spécifiques. Le lambda-calcul atomique et les lambda-calculs avec applications généralisées sont deux variants (indépendants) du lambda-calcul provenant d'interprétations calculatoires de la théorie de la démonstration. Alors que les langages de programmation sont basés sur des stratégies d'évaluation déterministes spécifiques, la littérature existante sur le lambda-calcul atomique et les applications généralisées ne s'étendent que sur la théorie générale des calculs. En particulier, la réduction des termes n'est pas restreinte, et seulement analysée qualitativement. Cela induit un écart entre la théorie et la pratique, que nous cherchons à diminuer dans cette thèse. À partir du lambda-calcul atomique, nous isolons la notion la plus saillante de sa sémantique opérationnelle, que nous appelons réplication par noeuds. C'est une procédure de substitution particulière, qui duplique les termes finement, un noeud de l'arbre syntaxique à la fois. Nous poursuivons avec les lambda-calculs à applications généralisées. Ceux-ci utilisent une application ternaire qui ajoute une continuation à l'application binaire habituelle. Dans ce travail, nous développons les théories opérationnelles basées sur la réplication par noeuds et les applications généralisées séparément. Pour les deux: À un niveau opérationnel, nous donnons plusieurs stratégies d'évaluation, toutes observationnellement équivalentes aux stratégies correspondantes du lambda-calcul. À un niveau logique, notre approche est guidée par les types quantitatifs. Nous définissons différents systèmes de types qui caractérisent des propriétés sémantiques par induction, mais donnent aussi des bornes quantitatives sur la longueur de réduction et la taille des formes normales. Plus précisément, dans la première partie de cette thèse, nous implémentons la réplication par noeuds au moyen d'un calcul à substitutions explicites. Nous montrons en particulier comment la réplication par noeuds peut être utilisée pour implémenter la pleine paresse, une stratégie d'évaluation bien connue de langages de programmations comme Haskell. Nous montrons des propriétés d'équivalence observationnelle reliant la sémantique pleinement paresseuse aux sémantiques usuelles. Dans la deuxième partie de cette thèse, nous commençons par une caractérisation opérationnelle et logique de la solvabilité dans les lambda-calculs à applications généralisées. Nous montrons comment ce cadre donne naissance à une remarquable sémantique opérationnelle de l'appel-par-valeur. La caractérisation en appel-par-nom s'appuie sur un nouveau calcul à applications généralisées. Nous prouvons dans les deux cas que les sémantiques opérationnelles sont compatibles avec un modèle quantitatif, au contraire de celle du calcul en appel-par-nom originel. Nous prouvons ensuite des propriétés essentielles de ce nouveau calcul en appel-par-nom, et montrons l'équivalence observationnelle avec l'original.
Fichier principal
Vignette du fichier
va_Peyrot_Loic.pdf (3.34 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)

Dates et versions

tel-04438193 , version 1 (05-02-2024)

Identifiants

  • HAL Id : tel-04438193 , version 1

Citer

Loîc Peyrot. From proof terms to programs : . an operational and quantitative study of intuistionistic Curry-Howard calculi. Computer science. Université Paris Cité, 2022. English. ⟨NNT : 2022UNIP7258⟩. ⟨tel-04438193⟩
19 Consultations
26 Téléchargements

Partager

More