Context-Dependent Effects and Concurrency in Guarded Interaction Trees

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Stepanenko, Sergei, Nardino, Emma, Marionneau, Virgil, Frumin, Dan, Timany, Amin, Birkedal, Lars
Natura: Preprint
Pubblicazione: 2025
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866909958540361728
author Stepanenko, Sergei
Nardino, Emma
Marionneau, Virgil
Frumin, Dan
Timany, Amin
Birkedal, Lars
author_facet Stepanenko, Sergei
Nardino, Emma
Marionneau, Virgil
Frumin, Dan
Timany, Amin
Birkedal, Lars
contents Guarded Interaction Trees are a structure and a fully formalized framework for representing higher-order computations with higher-order effects in Rocq. We present an extension of Guarded Interaction Trees to support formal reasoning about context-dependent effects. That is, effects whose behaviors depend on the evaluation context, e.g., call/cc, shift and reset. Using and reasoning about such effects is challenging since certain compositionality principles no longer hold in the presence of such effects. For example, the so-called ``bind rule'' in modern program logics is no longer valid. The goal of our extension is to support representation and reasoning about context-dependent effects in the most painless way possible. To that end, our extension is conservative: the reasoning principles for context-independent effects remain the same. We use it to give direct-style denotational semantics for higher-order programming languages with call/cc and with delimited continuations. We extend the program logic for Guarded Interaction Trees to account for context-dependent effects, and we use the program logic to prove that the denotational semantics is adequate with respect to the operational semantics. Additionally, we retain the ability to combine multiple effects in a modular way, which we demonstrate by showing type soundness for safe interoperability of a programming language with delimited continuations and a programming language with higher-order store. Furthermore, as another contribution, in addition to context-dependent effects, we show how to extend Guarded Interaction Trees with preemptive concurrency. To support implementation and verification of concurrent data structures and algorithms in the presence of preemptive concurrency one requires atomic state modification operations, e.g., compare-and-exchange.
format Preprint
id arxiv_https___arxiv_org_abs_2512_11577
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Context-Dependent Effects and Concurrency in Guarded Interaction Trees
Stepanenko, Sergei
Nardino, Emma
Marionneau, Virgil
Frumin, Dan
Timany, Amin
Birkedal, Lars
Logic in Computer Science
Programming Languages
D.2.4; D.3.1
Guarded Interaction Trees are a structure and a fully formalized framework for representing higher-order computations with higher-order effects in Rocq. We present an extension of Guarded Interaction Trees to support formal reasoning about context-dependent effects. That is, effects whose behaviors depend on the evaluation context, e.g., call/cc, shift and reset. Using and reasoning about such effects is challenging since certain compositionality principles no longer hold in the presence of such effects. For example, the so-called ``bind rule'' in modern program logics is no longer valid. The goal of our extension is to support representation and reasoning about context-dependent effects in the most painless way possible. To that end, our extension is conservative: the reasoning principles for context-independent effects remain the same. We use it to give direct-style denotational semantics for higher-order programming languages with call/cc and with delimited continuations. We extend the program logic for Guarded Interaction Trees to account for context-dependent effects, and we use the program logic to prove that the denotational semantics is adequate with respect to the operational semantics. Additionally, we retain the ability to combine multiple effects in a modular way, which we demonstrate by showing type soundness for safe interoperability of a programming language with delimited continuations and a programming language with higher-order store. Furthermore, as another contribution, in addition to context-dependent effects, we show how to extend Guarded Interaction Trees with preemptive concurrency. To support implementation and verification of concurrent data structures and algorithms in the presence of preemptive concurrency one requires atomic state modification operations, e.g., compare-and-exchange.
title Context-Dependent Effects and Concurrency in Guarded Interaction Trees
topic Logic in Computer Science
Programming Languages
D.2.4; D.3.1
url https://arxiv.org/abs/2512.11577