An Equational Axiomatization of Dynamic Threads via Algebraic Effects: Presheaves on Finite Relations, Labelled Posets, and Parameterized Algebraic Theories
Ohad Kammar, Jack Liell-Cock, Sam Lindley, Cristina Matache, Sam Staton
TL;DR
The paper addresses the problem of giving a complete equational account of dynamic threads using algebraic effects, by formulating a parameterized algebraic theory for fork, wait, stop, and act_σ and proving representation and completeness theorems relative to labelled posets (pomsets). The main approach combines (i) a syntax-free representation of terms as labelled posets, (ii) a robust semantic model via strong monads on the functor category Set^{FinRel}, and (iii) a denotational framework that yields soundness, adequacy, and first-order full abstraction for the language. Key contributions include an eight-equation theory for the core concurrency primitives, a representation theorem showing an isomorphism between the term model and labelled poset model, and a completeness result ensuring open-term equations are captured by the pomset model; together with a denotational semantics that matches operational observations. The work advances the algebraic treatment of concurrency by treating thread IDs as abstract parameters, enabling modular reasoning about dynamic thread creation and binding, and offering a path to extending to richer concurrency features and effect handlers with principled compositional semantics.
Abstract
We use the theory of algebraic effects to give a complete equational axiomatization for dynamic threads. Our method is based on parameterized algebraic theories, which give a concrete syntax for strong monads on functor categories, and are a convenient framework for names and binding. Our programs are built from the key primitives `fork' and `wait'. `Fork' creates a child thread and passes its name (thread ID) to the parent thread. `Wait' allows us to wait for given child threads to finish. We provide a parameterized algebraic theory built from fork and wait, together with basic atomic actions and laws such as associativity of `fork'. Our equational axiomatization is complete in two senses. First, for closed expressions, it completely captures equality of labelled posets (pomsets), an established model of concurrency: model complete. Second, any two open expressions are provably equal if they are equal under all closing substitutions: syntactically complete. The benefit of algebraic effects is that the semantic analysis can focus on the algebraic operations of fork and wait. We then extend the analysis to a simple concurrent programming language by giving operational and denotational semantics. The denotational semantics is built using the methods of parameterized algebraic theories and we show that it is sound, adequate, and fully abstract at first order for labelled-poset observations.
