Formally Verified Liveness with Multiparty Session Types in Rocq

📅 2026-05-22
📈 Citations: 0
Influential: 0
📄 PDF

career value

206K/year
🤖 AI Summary
This work addresses the lack of formal verification mechanisms for liveness properties in existing session types for synchronous multi-party conversations. It proposes a novel representation of global and local types based on coinductive trees, establishing a precise correspondence between local type contexts and global types through a coinductively defined subtyping relation and a trivial merge projection. The approach guarantees both safety and liveness of communication protocols by proving operational correspondence. For the first time, the theory is mechanized in the Rocq proof assistant, clarifying previously informal arguments in the literature and enabling certified verification of protocol liveness. The implementation comprises approximately 14K lines of open-source code, integrating the paco library with coinductive techniques to provide a robust foundation for verifying multi-party protocols.
📝 Abstract
Multiparty session types (MPST) offer a framework for the description of communication-based protocols involving multiple participants. In the top-down approach to MPST, the communication pattern of the session is described using a global type. Then the global type is projected on to a local type for each participant, and the individual processes making up the session are type-checked against these projections. Typed sessions possess certain desirable properties such as safety, deadlock-freedom and liveness. In this work, we present the first mechanised proof of liveness for synchronous multiparty session types in the Rocq Proof Assistant. Building on recent work, we represent global and local types as coinductive trees using the paco library. We use a coinductively defined subtyping relation on local types together with another coinductively defined plain-merge projection relation relating local and global types. We then associate collections of local types, or local type contexts, with global types using this projection and subtyping relations, and prove an operational correspondence between a local type context and its associated global type. We utilise this association relation to prove the safety and liveness of associated local type contexts and, consequently, the multiparty sessions typed by these contexts. Besides clarifying the often informal proofs found in the MPST literature, our Rocq mechanisation also enables the certification of liveness properties of communication protocols. Our contribution amounts to around 14K lines of Rocq code, available at https://github.com/omerskeskin/mpstlive .
Problem

Research questions and friction points this paper is trying to address.

multiparty session types
liveness
formal verification
synchronous communication
global types
Innovation

Methods, ideas, or system contributions that make the work stand out.

multiparty session types
liveness
formal verification
coinduction
Rocq
🔎 Similar Papers