Behavioral Equivalences for Higher-Order Languages with Probabilities
Équivalences comportementales pour les langages d’ordre supérieur avec probabilité
Résumé
Higher-order languages, whose paradigmatic example is the λ-calculus, are languages with powerful operators that are capable of manipulating and exchanging programs themselves. This thesis studies behavioral equivalences for programs with higher-order and probabilistic features. Behavioral equivalence is formalized as a contextual, or testing, equivalence, and two main lines of research are pursued in the thesis.
The first part of the thesis focuses on contextual equivalence as a way of investigating the expressiveness of different languages. The discriminating powers offered by higher- order concurrent languages (Higher-Order π-calculi) are compared with those offered by higher-order sequential languages (à la λ-calculus) and by first-order concurrent languages (à la CCS). The comparison is carried out by examining the contextual equivalences induced by the languages on two classes of first-order processes, namely nondeterministic and probabilistic processes. As a result, the spectrum of the discriminating powers of several varieties of higher-order and first-order languages is obtained, both in a nondeterministic and in a probabilistic setting.
The second part of the thesis is devoted to proof techniques for contextual equivalence in probabilistic λ-calculi. Bisimulation-based proof techniques are studied, with particular focus on deriving bisimulations that are fully abstract for contextual equivalence (i.e., coincide with it). As a first result, full abstraction of applicative bisimilarity and similarity are proved for a call-by-value probabilistic λ-calculus with a parallel disjunction operator. Applicative bisimulations are however known not to scale to richer languages. Hence, more robust notions of bisimulations for probabilistic calculi are considered, in the form of environmental bisimulations. Environmental bisimulations are defined for pure call- by-name and call-by-value probabilistic λ-calculi, and for a (call-by-value) probabilistic λ-calculus extended with references (i.e., a store). In each case, full abstraction results are derived.
Les langages d'ordre supérieur, dont l'exemple paradigmatique est le λ-calcul, sont des langages avec des opérateurs capables de manipuler et d'échanger des programmes. Cette thèse étudie les équivalences comportementales pour des programmes ayant des caractéristiques probabilistes et d'ordre supérieur. L'équivalence comportementale est formalisée comme un contexte et deux axes de recherche sont poursuivis dans la thèse.
La première partie de la thèse se concentre sur l'équivalence contextuelle comme moyen d'étudier l'expressivité des différentes langages. Les pouvoirs discriminants offerts par les langages concurrents d'ordre supérieur (comme le π-calcul d'ordre supérieur) sont comparés à ceux offerts par les langages séquentiels d'ordre supérieur (comme le λ-calcul) et par les langages concurrents de premier ordre (comme le CCS). La comparaison est réalisée en examinant les équivalences contextuelles induites par les langages sur deux classes de processus de premier ordre: les processus non déterministes, et les processus probabilistes. En conséquence, on obtient le spectre des pouvoirs discriminants de plusieurs variétés de langages de premier ordre et d'ordre supérieur, dans un cadre non déterministe et dans un cadre probabiliste.
La deuxième partie de la thèse est consacrée aux techniques de preuve pour l'équivalence contextuelle dans les λ-calculs probabilistes. Les techniques de preuve basées sur la bisimulation sont étudiées, avec un accent particulier sur la dérivation de bisimulations qui sont complètement abstraites pour l'équivalence contextuelle (c'est-à-dire qui coïncident avec elle). Comme premier résultat, l'abstraction complète de la bisimilarité applicative et de la similarité est prouvée pour un λ-calcul probabiliste en appel par valeur avec un opérateur de disjonction parallèle. Les bisimulations applicatives sont cependant connues pour ne pas être applicables à des langages plus riches. Par conséquent, des notions plus robustes de bisimulation pour les calculs probabilistes sont considérées, sous la forme de bisimulations environnementales. Les bisimulations environnementales sont définies pour des λ-calculs probabilistes en appel par nom et en appel par valeur, et pour un λ-calcul probabiliste (en appel par valeur) avec références. Dans chaque cas, des résultats d'abstraction complets sont prouvés.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...