Reference. Mixtris: Mechanised Higher-Order Separation Logic for Mixed Choice Multiparty Message Passing

Mixed choice multiparty message passing is an expressive concurrency programming paradigm where components use non-determinism to choose between concurrent options for sending and receiving messages. This flexibility makes it possible to program advanced algorithms, such as leader election protocols, succinctly. We present Mixtris, a mechanised higher-order separation logic for reasoning about functional correctness of higher-order imperative programs with mixed choice multiparty message passing in a shared memory setting. Mixtris builds upon recent work on separation logic for (non-mixed choice) multiparty message-passing programs, by drawing inspiration from session type systems for mixed choice multiparty message-passing programs. Mixtris is the first program logic for mixed choice multiparty message passing. We prove soundness of Mixtris using a novel model of our mixed choice multiparty protocols. We demonstrate how Mixtris can be used to formally reason about challenging examples, including some leader election protocols such as Chang and Roberts’s ring leader election protocol. All the results in the paper (both meta-theory and examples) have been formalised in the Rocq proof assistant on top of the Iris program logic framework.

Cite

Cite as @hinrichsen-2026-mixtris (helia, typst) · \cite{hinrichsen-2026-mixtris} (LaTeX)
BibTeX
bibtex · 1 line
@article{hinrichsen-2026-mixtris, title={Mixtris: Mechanised Higher-Order Separation Logic for Mixed Choice Multiparty Message Passing}, volume={10}, ISSN={2475-1421}, url={http://dx.doi.org/10.1145/3798224}, DOI={10.1145/3798224}, number={OOPSLA1}, journal={Proceedings of the ACM on Programming Languages}, publisher={Association for Computing Machinery (ACM)}, author={Hinrichsen, Jonas Kastberg and Quémerais, Iwan and Birkedal, Lars}, year={2026}, month=Apr, pages={681–706} }
hayagriva YAML (typst)
yaml · 19 lines
hinrichsen-2026-mixtris:
  type: article
  title: 'Mixtris: Mechanised Higher-Order Separation Logic for Mixed Choice Multiparty Message Passing'
  author:
  - Hinrichsen, Jonas Kastberg
  - Quémerais, Iwan
  - Birkedal, Lars
  date: 2026-04
  page-range: 681-706
  url: http://dx.doi.org/10.1145/3798224
  serial-number:
    doi: 10.1145/3798224
    issn: 2475-1421
  parent:
    type: periodical
    title: Proceedings of the ACM on Programming Languages
    publisher: Association for Computing Machinery (ACM)
    issue: OOPSLA1
    volume: 10
Cites 40 works (4 here)
With notes (4)

Verifying Reliable Network Components in a Distributed Separation Logic with Dependent Separation Protocols gondelman-2023-verifying

We present a foundationally verified implementation of a reliable communication library for asynchronous client-server communication, and a stack of formally verified components on top thereof. Our library is implemented in an OCaml-like language on top of UDP and features characteristic traits of existing protocols, such as a simple handshaking protocol, bidirectional channels, and retransmission/acknowledgement mechanisms. We verify the library in the Aneris distributed separation logic using a novel proof pattern—dubbed the session escrow pattern—based on the existing escrow proof pattern and the so-called dependent separation protocols, which hitherto have only been used in a non-distributed concurrent setting. We demonstrate how our specification of the reliable communication library simplifies formal reasoning about applications, such as a remote procedure call library, which we in turn use to verify a lazily replicated key-value store with leader-followers and clients thereof. Our development is highly modular—each component is verified relative to specifications of the components it uses (not the implementation). All our results are formalized in the Coq proof assistant.
PDF · DOI · pldb

Iris from the ground up: A modular foundation for higher-order concurrent separation logic jung_etal_iris_ground_up_2018

Iris is a framework for higher-order concurrent separation logic, which has been implemented in the Coq proof assistant and deployed very effectively in a wide variety of verification projects. Iris was designed with the express goal of simplifying and consolidating the foundations of modern separation logics, but it has evolved over time, and the design and semantic foundations of Iris itself have yet to be fully written down and explained together properly in one place. Here, we attempt to fill this gap, presenting a reasonably complete picture of the latest version of Iris (version 3.1), from first principles and in one coherent narrative.
PDF · DOI · pldb

Higher-order ghost state jung_higher-order_2016

The development of concurrent separation logic (CSL) has sparked a long line of work on modular verification of sophisticated concurrent programs. Two of the most important features supported by several existing extensions to CSL are higher-order quantification and custom ghost state. However, none of the logics that support both of these features reap the full potential of their combination. In particular, none of them provide general support for a feature we dub “higher-order ghost state”: the ability to store arbitrary higher-order separation-logic predicates in ghost variables. In this paper, we propose higher-order ghost state as a interesting and useful extension to CSL, which we formalize in the framework of Jung et al.‘s recently developed Iris logic. To justify its soundness, we develop a novel algebraic structure called CMRAs (“cameras”), which can be thought of as “step-indexed partial commutative monoids”. Finally, we show that Iris proofs utilizing higher-order ghost state can be effectively formalized in Coq, and discuss the challenges we faced in formalizing them.
PDF · DOI · pldb

Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning jung-2015-iris

PDF · DOI · pldb
External (36)
hinrichsen-2026-mixtris reference entries/refs/hinrichsen-2026-mixtris/hinrichsen-2026-mixtris.hel