MobilityReadingGroup

π-calculus, Session Types research at the University of Oxford

Formally Verified Liveness with Multiparty Session Types in Rocq
Omer KESKIN , Nobuko YOSHIDA , Rob VAN GLABBEEK
17th International Conference on Interactive Theorem Proving, 2026, Lisbon, Portugal (ITP 2026). p. 4:1 - 4:21

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 environments, with global types using these projection and subtyping relations, and prove an operational correspondence between a local type environment and its associated global type. We utilise this association relation to prove the safety and liveness of associated local type environments and, consequently, the multiparty sessions typed by these environments.

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.

@inproceedings{KYG2026,
  author = {Omer Keskin and Nobuko Yoshida and Rob van Glabbeek},
  title = {{ Formally Verified Liveness with Multiparty Session Types in Rocq}},
  booktitle = {17th International Conference on Interactive Theorem Proving, 2026, Lisbon, Portugal},
  series = {LIPIcs},
  volume = {382},
  pages = {4:1--4:21},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{"{u}}r Informatik},
  year = 2026
}
@inproceedings{KYG2026,
  author = {Omer Keskin and Nobuko Yoshida and Rob van Glabbeek},
  title = {{ Formally Verified Liveness with Multiparty Session Types in Rocq}},
  booktitle = {17th International Conference on Interactive Theorem Proving, 2026, Lisbon, Portugal},
  series = {LIPIcs},
  volume = {382},
  pages = {4:1--4:21},
  publisher = {Schloss Dagstuhl - Leibniz-Zentrum f{"{u}}r Informatik},
  doi = "https://doi.org/10.4230/LIPIcs.ITP.2026.4",
  year = 2026
}