Program Equivalence for Algebraic Effects via Modalities

by   Cristina Matache, et al.

This dissertation is concerned with the study of program equivalence and algebraic effects as they arise in the theory of programming languages. Algebraic effects represent impure behaviour in a functional programming language, such as input and output, exceptions, nondeterminism etc. all treated in a generic way. Program equivalence aims to identify which programs can be considered equal in some sense. This question has been studied for a long time but has only recently been extended to languages with algebraic effects, which are a newer development. Much work remains to be done in order to understand program equivalence in the presence of algebraic effects. In particular, there is no characterisation of contextual equivalence using a logic. We define a logic whose formulas express properties of higher-order programs with algebraic effects. We then investigate three notions of program equivalence for algebraic effects: logical equivalence induced by the aforementioned logic, applicative bisimilarity and contextual equivalence. For the programming language used in this dissertation, we prove that they all coincide. Therefore, the main novel contribution of the dissertation is defining the first logic for algebraic effects whose induced program equivalence coincides with contextual equivalence.


page 1

page 2

page 3

page 4


Behavioural Equivalence via Modalities for Algebraic Effects

The paper investigates behavioural equivalence between programs in a cal...

Resource Transition Systems and Full Abstraction for Linear Higher-Order Effectful Systems

We investigate program equivalence for linear higher-order(sequential) l...

Inductive and Coinductive Predicate Liftings for Effectful Programs

We formulate a framework for describing behaviour of effectful higher-or...

On Feller Continuity and Full Abstraction (Long Version)

We study the nature of applicative bisimilarity in λ-calculi endowed wit...

Quantitative Logics for Equivalence of Effectful Programs

In order to reason about effects, we can define quantitative formulas to...

Coalgebraic modal logic and games for coalgebras with side effects

We study coalgebraic modal logic and games to characterise behavioural e...

From Equations to Distinctions: Two Interpretations of Effectful Computations

There are several ways to define program equivalence for functional prog...