Coinductive Equivalences and Metrics for Higher-order Languages with Algebraic Effects
Equivalences coinductives et métriques pour les langages d'ordre supérieur avec des effets algébriques
Résumé
This dissertation investigates notions of program equivalence and metric for higher-order sequential languages with algebraic effects.
Computational effects are those aspects of computation that involve forms of interaction with the environment. Due to such an interactive behaviour,
reasoning about effectful programs is well-known to be hard. This is especially true for higher-order effectful languages, where programs can be passed as input to, and returned as output by other programs, as well as perform side-effects. Additionally, when dealing with effectful languages, program equivalence is oftentimes too coarse, not allowing, for instance, to quantify the observable differences between programs.
A natural way to overcome this problem is to refine the notion of a program equivalence into the one of a program distance or program metric, this way allowing for a finer, quantitative analysis of program behaviour. A proper account of program distance, however, requires a more sophisticated theory than program equivalence, both conceptually and mathematically. This often makes the study of program distance way more difficult than the corresponding study of program equivalence.
Algebraic effects provide a powerful formalism to structure effectful higher-order (sequential) computations. Accordingly, effectful computations are produced by means of effect-triggering operations which act as sources of the side effects of interest. Such operations are algebraic, in
the sense that their (operational) semantics is independent of their continuation, and thus effects act independently of the evaluation context in which they are executed.
Algebraic effects can be used to model several computational effects, proving formal models for higher-order languages with nondeterministic, probabilistic, and imperative features, as well as combinations thereof. In fact, contrary to other theories of computational effects, algebraic effects naturally support operations to combine algebraic theories, and thus allow for the combination of effects with one another.These features make reasoning about program equivalence for languages with algebraic effects challenging, as the operational behaviour of a program may be determined by complex interactions between the program and the environment.
The first part of this dissertation studies bisimulation-based notions of equivalence and refinement for $\lambda$-calculi enriched with algebraic effects. In particular, notions of effectful applicative and normal form (bi)similarity are defined for both call-by-name and call-by-value $\lambda$-calculi, as well as a notion of monadic applicative (bi)similarity for call-by-name calculi only. For all these notions, congruence and precongruence theorems are proved, which directly lead to soundness results with respect to an extension of Morris' contextual equivalence to effectful calculi.
In order to design the aforementioned notions of equivalence and refinement, an abstract relational framework is developed, which is based on the notions of a monad and of a relator, the latter being an abstract construction axiomatising relation lifting operations.
The second part of this dissertation is devoted to the study of program distances for languages with algebraic effects.
Following Lawvere analysis of metric spaces as enriched categories,
the abstract relational framework developed in the first part of the dissertation,
is extended to relations taking values over quantales, the latter being algebraic structures whose elements represent `abstract quantities'.
Using such a framework, the notion of an effectful applicative bisimulation distance is defined, and its main properties are studied. Due to the so-called distance trivialisation, however, the notion of an effectful applicative bisimulation distance is defined for a calculus supporting program sensitivity. The latter is the law describing how much operational differences in output are affected by operational differences in input.
Relying on the notion of program sensitivity, an abstract (pre)congruence theorem for effectful applicative (bi)similarity distance is proved, which states that the latter behaves as a Lipschitz-continuous metric-like function, this way enabling compositional reasoning about program distance.
Cette thèse examine les notions d'équivalence de programme et de métrique pour les langages séquentiels d'ordre supérieur à effets algébriques.
Les effets de calcul sont les aspects du calcul qui impliquent des formes d'interaction avec l'environnement. En raison de ce comportement interactif,
raisonner sur des programmes efficaces est bien connu pour être difficile. Cela est particulièrement vrai pour les langages efficaces d'ordre supérieur, où les programmes peuvent être passés en entrée et renvoyés en sortie par d'autres programmes, tout en produisant des effets secondaires. De plus, s’agissant de langages efficaces, l’équivalence de programme est souvent trop grossière, ne permettant pas, par exemple, de quantifier les différences observables entre les programmes.
Un moyen naturel de résoudre ce problème consiste à affiner la notion d'équivalence de programme en une distance de programme ou une métrique de programme, permettant ainsi une analyse quantitative plus fine du comportement du programme. Cependant, une description correcte de la distance d'un programme nécessite une théorie plus sophistiquée que son équivalence, à la fois conceptuellement et mathématiquement. Cela rend souvent l’étude de la distance du programme beaucoup plus difficile que l’étude correspondante de l’équivalence de programme.
Les effets algébriques fournissent un formalisme puissant pour la structuration de calculs séquentiels efficaces. En conséquence, des calculs efficaces sont produits au moyen d’opérations de déclenchement d’effet qui agissent comme source des effets secondaires d’intérêt. De telles opérations sont algébriques, en le sentiment que leur sémantique (opérationnelle) est indépendante de leur continuation et que les effets agissent donc indépendamment du contexte d'évaluation dans lequel ils sont exécutés.
La première partie de cette thèse étudie les notions d'équivalence et de raffinement basées sur la bisimulation pour les calculs riches en effets algébriques. En particulier, les notions de similitude applicative efficace et de similarité (bi) de forme normale sont définies à la fois pour appel par nom et call-by-value $ \ lambda $-calculi, ainsi qu’une notion de similitude (bi) applicative monadique pour call Calculs par nom uniquement. Pour toutes ces notions, les théorèmes de congruence et de précongruence sont prouvés, ce qui conduit directement à des résultats de solidité par rapport à une extension de l'équivalence contextuelle de Morris à des calculs effectifs.
Afin de concevoir les notions susmentionnées d’équivalence et de raffinement, un cadre relationnel abstrait est développé, qui est basé sur les notions de monade et de relateur, ce dernier étant une construction abstraite axiomatisant des opérations de levage de relations.
La deuxième partie de cette thèse est consacrée à l'étude des distances de programme pour les langues à effets algébriques.
À la suite de l’analyse de Lawvere des espaces métriques en tant que catégories enrichies,
le cadre relationnel abstrait développé dans la première partie de la thèse,
est étendu aux relations prenant des valeurs sur des quantales, ces dernières étant des structures algébriques dont les éléments représentent des «quantités abstraites».
À l'aide d'un tel cadre, la notion de distance de bisimulation applicative efficace est définie et ses propriétés principales sont étudiées. En raison de la soi-disant banalisation de la distance, la notion de distance de bisimulation applicative efficace est définie pour un calcul prenant en charge la sensibilité du programme. Cette dernière est la loi décrivant dans quelle mesure les différences opérationnelles de production sont affectées par les différences opérationnelles de production.
En s'appuyant sur la notion de sensibilité de programme, on prouve un théorème abstrait de (pré) congruence pour une distance de similarité (bi) applicative efficace, indiquant que cette dernière se comporte comme une fonction de type métrique continue de Lipschitz, permettant ainsi un raisonnement compositionnel sur la distance de programme.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...