Towards a Higher-Order Bialgebraic Denotational Semantics
For researchers in programming language semantics, this work extends the bialgebraic approach to denotational semantics for higher-order languages, filling a gap in the theory.
The paper develops a theory of adequate denotational semantics for higher-order languages within the bialgebraic abstract GSOS framework, enabling a categorical approach where denotational models are parametric in a semantic domain built from a locally final coalgebra. This captures existing per-language denotational semantics (e.g., via step-indexing) and applies to various higher-order languages, including those with computational effects.
The bialgebraic abstract GSOS framework by Turi and Plotkin provides an elegant categorical approach to modelling the operational and denotational semantics of programming and process languages. In abstract GSOS, bisimilarity is always a congruence, and it coincides with denotational equivalence. This saves the language designer from intricate, ad-hoc reasoning to establish these properties. The bialgebraic perspective on operational semantics in the style of abstract GSOS has recently been extended to higher-order languages, preserving compositionality of bisimilarity. However, a categorical understanding of bialgebraic denotational semantics according to Turi and Plotkin's original vision has so far been missing in the higher-order setting. In the present paper, we develop a theory of adequate denotational semantics in higher-order abstract GSOS. The denotational models are parametric in an appropriately chosen semantic domain in the form of a locally final coalgebra for a behaviour bifunctor, whose construction is fully decoupled from the syntax of the language. Our approach captures existing accounts of denotational semantics such as semantic domains built via general step-indexing, previously introduced on a per-language basis, and is shown to be applicable to a wide range of different higher-order languages, e.g. simply typed and untyped languages, or languages with computational effects such as probabilistic or non-deterministic branching.