Formally Verified Liveness with Multiparty Session Types in Rocq
Pith reviewed 2026-05-25 02:58 UTC · model grok-4.3
The pith
An association relation between coinductive local type contexts and global types proves safety and liveness for multiparty sessions in Rocq.
A machine-rendered reading of the paper's core claim, the machinery that carries it, and where it could break.
Core claim
We represent global and local types as coinductive trees, define coinductive subtyping and plain-merge projection, associate local type contexts with global types via these relations, prove operational correspondence between them, and then prove safety and liveness of the associated local type contexts and the multiparty sessions they type.
What carries the argument
The association relation between local type contexts and global types, constructed from coinductive subtyping and plain-merge projection.
If this is right
- Typed multiparty sessions possess safety and liveness.
- Liveness properties of communication protocols can be certified in Rocq.
- The mechanization clarifies informal proofs in the multiparty session types literature.
- Around 14K lines of Rocq code formalize the relations and proofs.
Where Pith is reading between the lines
- The same association technique might extend to proving additional properties such as termination or fairness in sessions.
- Certified local types could serve as verified specifications for implementing communication libraries in verified languages.
- Mechanized liveness could support automated checking of protocol descriptions before deployment in distributed systems.
Load-bearing premise
The coinductive definitions of global types, local types, subtyping, and plain-merge projection match the informal notions of liveness used in the multiparty session types literature.
What would settle it
A concrete multiparty protocol whose global type projects to local types that satisfy the association relation in Rocq yet the running session deadlocks or violates liveness under the standard operational semantics.
read the original 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 .
Editorial analysis
A structured set of objections, weighed in public.
Referee Report
Summary. The paper presents the first mechanized proof of liveness for synchronous multiparty session types (MPST) in Rocq. Global and local types are represented as coinductive trees using the paco library. A coinductively defined subtyping relation on local types and a plain-merge projection relation are used to associate local type contexts with global types. An operational correspondence is proved between associated contexts and global types, from which safety and liveness of the contexts (and thus of typed multiparty sessions) are derived. The development comprises ~14K lines of Rocq code with an accompanying GitHub artifact.
Significance. If correct, the result supplies the first machine-checked liveness guarantees for synchronous MPST, moving beyond the informal arguments common in the literature. The use of a self-contained coinductive development with paco, together with the public artifact, allows direct inspection of the definitions and proofs; this strengthens the reliability of the safety and liveness claims and supports certification of concrete protocols.
minor comments (2)
- The abstract and introduction would benefit from an explicit early statement of the precise coinductive definition of liveness that is being mechanized (currently only referenced via the association relation).
- Figure or table summarizing the main Rocq lemmas (operational correspondence, safety, liveness) and their dependencies would improve readability of the 14K-line development.
Simulated Author's Rebuttal
We thank the referee for their positive review, accurate summary of our contribution, and recommendation to accept the paper. We are pleased that the mechanized proof of liveness for synchronous MPST in Rocq, along with the public artifact, is viewed as strengthening the reliability of the safety and liveness claims.
Circularity Check
No significant circularity; self-contained mechanized derivation
full rationale
The paper's central contribution is a complete Rocq mechanization (~14K LOC) of an association relation between local-type contexts and global types, defined via explicitly coinductive subtyping and plain-merge projection relations, followed by operational correspondence, safety, and liveness theorems. All steps are proved inside Rocq against the stated coinductive definitions using the paco library; no parameters are fitted, no results are renamed as predictions, and no load-bearing premise reduces to a self-citation or self-definition. The mechanized theorems constitute the derivation chain itself and are externally inspectable via the artifact. The weakest assumption (fidelity of coinductive encodings to informal MPST notions) is a modeling choice, not a circular reduction.
Axiom & Free-Parameter Ledger
axioms (2)
- domain assumption Coinductive definitions of global and local types as trees are faithful to the informal MPST syntax and semantics.
- standard math The paco library correctly implements coinductive reasoning in Rocq.
Reference graph
Works this paper leans on
-
[1]
doi:https://doi.org/10.46298/lmcs-21(2:5)2025
Adam Barwell and Ping Hou and Nobuko Yoshida and Fangyi Zhou , title =. doi:https://doi.org/10.46298/lmcs-21(2:5)2025
-
[2]
Theoretical Computer Science , publisher =
Nobuko Yoshida and Ping Hou and Iona Kuhn , title =. Theoretical Computer Science , publisher =
-
[3]
Components Operationally: Reversibility and System Engineering , series =
Kai Pischke and Nobuko Yoshida , title =. Components Operationally: Reversibility and System Engineering , series =
-
[4]
A Very Gentle Introduction to Multiparty Session Types , year =
Yoshida, Nobuko and Gheri, Lorenzo , booktitle =. A Very Gentle Introduction to Multiparty Session Types , year =
- [5]
-
[6]
Cho, Minki and Song, Youngju and Lee, Dongjae and G\". Stuttering for Free , year =. Proc. ACM Program. Lang. , month = oct, articleno =. doi:10.1145/3622857 , abstract =
-
[7]
Fundamenta Informaticae , volume =
Paula Severi and Mariangiola Dezani-Ciancaglini , title =. Fundamenta Informaticae , volume =. 2019 , doi =
work page 2019
-
[8]
Chappe, Nicolas , title =. Proc. ACM Program. Lang. , month = jan, articleno =. 2026 , issue_date =. doi:10.1145/3776714 , abstract =
-
[9]
Introduction to bisimulation and coinduction , author=. 2011 , publisher=
work page 2011
-
[10]
Precise subtyping for synchronous multiparty sessions , volume =
Silvia Ghilezan and Svetlana Jak. Precise subtyping for synchronous multiparty sessions , volume =. Journal of Logical and Algebraic Methods in Programming , keywords =. 2019 , bdsk-url-1 =. doi:https://doi.org/10.1016/j.jlamp.2018.12.002 , issn =
-
[11]
Scalas, Alceste and Yoshida, Nobuko , title =. Proc. ACM Program. Lang. , month = jan, articleno =. 2019 , issue_date =. doi:10.1145/3290343 , abstract =
-
[12]
Yoshida, Nobuko and Hou, Ping. Less is More Revisited. The Practice of Formal Methods: Essays in Honour of Cliff Jones, Part II. 2024. doi:10.1007/978-3-031-66673-5_14
-
[13]
Formal Models and Semantics , publisher =
Operational and Algebraic Semantics of Concurrent Processes , editor =. Formal Models and Semantics , publisher =. 1990 , series =. doi:https://doi.org/10.1016/B978-0-444-88074-1.50024-X , author =
-
[14]
Padovani, Luca , title =. Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) , articleno =. 2014 , isbn =. doi:10.1145/2603088.2603116 , abstract =
-
[15]
16th International Conference on Interactive Theorem Proving (ITP 2025) , pages =
Li, Elaine and Wies, Thomas , title =. 16th International Conference on Interactive Theorem Proving (ITP 2025) , pages =. 2025 , volume =. doi:10.4230/LIPIcs.ITP.2025.15 , annote =
-
[16]
Subtyping Supports Safe Session Substitution
Gay, Simon J. Subtyping Supports Safe Session Substitution. A List of Successes That Can Change the World: Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday. 2016. doi:10.1007/978-3-319-30936-1_5
-
[17]
Reversible sessions with flexible choices , volume =. Acta Informatica , author =. 2019 , pages =. doi:10.1007/s00236-019-00332-y , abstract =
-
[18]
Composition and decomposition of multiparty sessions , journal =
Franco Barbanera and Mariangiola Dezani-Ciancaglini and Ivan Lanese and Emilio Tuosto , abstract =. Composition and decomposition of multiparty sessions , journal =. 2021 , issn =. doi:https://doi.org/10.1016/j.jlamp.2020.100620 , url =
-
[19]
Partially typed multiparty sessions with internal delegation , journal =
Franco Barbanera and Viviana Bono and Mariangiola Dezani-Ciancaglini , keywords =. Partially typed multiparty sessions with internal delegation , journal =. 2025 , issn =. doi:https://doi.org/10.1016/j.jlamp.2024.101018 , url =
-
[20]
Electronic Proceedings in Theoretical Computer Science , author =
Partially. Electronic Proceedings in Theoretical Computer Science , author =. 2023 , NOnote =. doi:10.4204/EPTCS.383.2 , abstract =
-
[21]
Information and Computation , author =
A. Information and Computation , author =. 2002 , pages =. doi:10.1006/inco.2002.3171 , abstract =
-
[22]
Journal of Logical and Algebraic Methods in Programming , author =
Fair termination of multiparty sessions , volume =. Journal of Logical and Algebraic Methods in Programming , author =. 2024 , keywords =. doi:https://doi.org/10.1016/j.jlamp.2024.100964 , abstract =
-
[23]
39th European Conference on Object-Oriented Programming (ECOOP 2025) , pages =
Tirore, Dawit and Bengtson, Jesper and Carbone, Marco , title =. 39th European Conference on Object-Oriented Programming (ECOOP 2025) , pages =. 2025 , volume =. doi:10.4230/LIPIcs.ECOOP.2025.31 , annote =
-
[24]
Asynchronous Global Protocols, Precisely
Pischke, Kai and Yoshida, Nobuko. Asynchronous Global Protocols, Precisely. Components Operationally: Reversibility and System Engineering: Essays Dedicated to Jean-Bernard Stefani on the Occasion of His 65th Birthday. 2026. doi:10.1007/978-3-031-99717-4_7
-
[25]
A Sound and Complete Projection for Global Types , booktitle =
Dawit Legesse Tirore and Jesper Bengtson and Marco Carbone , editor =. A Sound and Complete Projection for Global Types , booktitle =. 2023 , doi =
work page 2023
-
[26]
A Mechanisation of Multiparty Session Types
Dawit Tirore. A Mechanisation of Multiparty Session Types. 2024
work page 2024
-
[27]
Castro-Perez, David and Ferreira, Francisco and Jongmans, Sung-Shik , title =. Proc. ACM Program. Lang. , month = jan, articleno =. 2026 , issue_date =. doi:10.1145/3776692 , abstract =
-
[28]
Concerto Grosso for Sessions: Fair Termination of Sessions , author=. 2023 , eprint=
work page 2023
-
[29]
Type-driven. Computer Science , author =. doi:10.7494/csci.2017.18.3.1413 , number =
-
[30]
Proceedings of the 14th ACM SIGPLAN International Symposium on Haskell , pages =
Kokke, Wen and Dardha, Ornela , title =. Proceedings of the 14th ACM SIGPLAN International Symposium on Haskell , pages =. 2021 , isbn =. doi:10.1145/3471874.3472979 , abstract =
-
[31]
Lindley, Sam and Morris, J Garrett , journal=. Embedding session types in. 2016 , publisher=
work page 2016
-
[32]
Proceedings of the first ACM SIGPLAN symposium on Haskell , pages=
Haskell session types with (almost) no class , author=. Proceedings of the first ACM SIGPLAN symposium on Haskell , pages=. 2008 , doi=
work page 2008
-
[33]
Proceedings of the ACM on Programming Languages , volume=
Actris: Session-type based reasoning in separation logic , author=. Proceedings of the ACM on Programming Languages , volume=. 2019 , publisher=
work page 2019
-
[34]
Journal of Functional Programming , volume=
Iris from the ground up: A modular foundation for higher-order concurrent separation logic , author=. Journal of Functional Programming , volume=. 2018 , doi=
work page 2018
-
[35]
Proceedings of the ACM on Programming Languages , volume=
Deadlock-free separation logic: Linearity yields progress for dependent higher-order message passing , author=. Proceedings of the ACM on Programming Languages , volume=. 2024 , publisher=
work page 2024
-
[36]
Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming , pages =
Wadler, Philip , title =. Proceedings of the 17th ACM SIGPLAN International Conference on Functional Programming , pages =. 2012 , isbn =. doi:10.1145/2364527.2364568 , abstract =
-
[37]
Wadler, Philip , title =. SIGPLAN Not. , month = sep, pages =. 2012 , issue_date =. doi:10.1145/2398856.2364568 , abstract =
-
[38]
Jacobs, Jules and Balzer, Stephanie and Krebbers, Robbert , journal=. Multiparty. 2022 , publisher=
work page 2022
-
[39]
Lee, Dongjae and Cho, Minki and Kim, Jinwoo and Moon, Soonwon and Song, Youngju and Hur, Chung-Kil , title =. Proc. ACM Program. Lang. , month = jun, articleno =. 2023 , issue_date =. doi:10.1145/3591253 , abstract =
-
[40]
D’Osualdo, Emanuele and Sutherland, Julian and Farzan, Azadeh and Gardner, Philippa , title =. ACM Trans. Program. Lang. Syst. , month = nov, articleno =. 2021 , issue_date =. doi:10.1145/3477082 , abstract =
-
[41]
Proceedings of the ACM on Programming Languages , volume=
Lilo: A Higher-Order, Relational Concurrent Separation Logic for Liveness , author=. Proceedings of the ACM on Programming Languages , volume=. 2025 , doi=
work page 2025
-
[42]
Thiemann, Peter , title =. Proceedings of the 21st International Symposium on Principles and Practice of Declarative Programming , articleno =. 2019 , isbn =. doi:10.1145/3354166.3354184 , abstract =
-
[43]
Ekici, Burak and Yoshida, Nobuko , editor =. Completeness of. 15th. 2024 , note =. doi:10.4230/LIPIcs.ITP.2024.13 , urldate =
-
[44]
Ancona, Davide and Dagnino, Francesco and Zucca, Elena , editor =. Generalizing. Programming. 2017 , pages =
work page 2017
-
[45]
Ciccone, Luca and Padovani, Luca , title =. Proc. ACM Program. Lang. , month = jan, articleno =. 2022 , issue_date =. doi:10.1145/3498666 , abstract =
-
[46]
Padovani, Luca and Vasconcelos, Vasco Thudichum and Vieira, Hugo Torres , editor =. Typing. Coordination. 2014 , doi=
work page 2014
-
[47]
16th International Conference on Interactive Theorem Proving (ITP 2025) , pages =
Ekici, Burak and Kamegai, Tadayoshi and Yoshida, Nobuko , title =. 16th International Conference on Interactive Theorem Proving (ITP 2025) , pages =. 2025 , volume =. doi:10.4230/LIPIcs.ITP.2025.19 , annote =
-
[48]
Hur, Chung-Kil and Neis, Georg and Dreyer, Derek and Vafeiadis, Viktor , title =. 2013 , issue_date =. doi:10.1145/2480359.2429093 , journal =
-
[49]
Letouzey, Pierre and Appel, Andrew W. , url=
-
[50]
Cormen, Thomas H. and Leiserson, Charles E. and Rivest, Ronald L. and Stein, Clifford , title =. 2009 , isbn =
work page 2009
-
[51]
2025 , organization =
work page 2025
-
[52]
Chlipala, Adam , title =. 2013 , isbn =. doi:10.7551/mitpress/9153.001.0001 , abstract =
-
[53]
Progress, Justness, and Fairness , volume=
Glabbeek, Rob van and Höfner, Peter , year=. Progress, Justness, and Fairness , volume=. ACM Computing Surveys , publisher=. doi:10.1145/3329125 , number=
-
[54]
Francez, Nissim , year =. Fairness , copyright =. doi:10.1007/978-1-4612-4886-6 , keywords =
- [55]
-
[56]
Amir Pnueli , title =. 18th Annual Symposium on Foundations of Computer Science, Providence, Rhode Island, USA, 1977 , pages =. 1977 , doi =
work page 1977
- [57]
-
[58]
Honda, Kohei and Yoshida, Nobuko and Carbone, Marco , title =. Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages , pages =. 2008 , isbn =. doi:10.1145/1328438.1328472 , abstract =
-
[59]
Honda, Kohei and Yoshida, Nobuko and Carbone, Marco , title =. SIGPLAN Not. , month = jan, pages =. 2008 , issue_date =. doi:10.1145/1328897.1328472 , abstract =
-
[60]
ACM Transactions on Programming Languages and Systems (TOPLAS) , volume=
Proving liveness properties of concurrent programs , author=. ACM Transactions on Programming Languages and Systems (TOPLAS) , volume=. 1982 , publisher=
work page 1982
- [61]
-
[62]
Udomsrirungruang, Thien and Yoshida, Nobuko , journal=. Top-down or bottom-up?. 2025 , publisher=
work page 2025
-
[63]
In: 2021 36th Annual ACM/IEEE Sym- posium on Logic in Computer Science (LICS)
Glabbeek, Rob van and H\". Assuming just enough fairness to make session types complete for lock-freedom , year =. Proceedings of the 36th Annual ACM/IEEE Symposium on Logic in Computer Science , articleno =. doi:10.1109/LICS52264.2021.9470531 , abstract =
-
[64]
Castro-Perez, David and Ferreira, Francisco and Gheri, Lorenzo and Yoshida, Nobuko , title =. Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation , pages =. 2021 , isbn =. doi:10.1145/3453483.3454041 , abstract =
-
[65]
Filters on CoInductive Streams, an Application to Eratosthenes' Sieve
Bertot, Yves. Filters on CoInductive Streams, an Application to Eratosthenes' Sieve. Typed Lambda Calculi and Applications. 2005
work page 2005
discussion (0)
Sign in with ORCID, Apple, or X to comment. Anyone can read and Pith papers without signing in.