Machine-Checked Semantic Session Typing
Date: Wed, May 27, 2020
Room: Eelco's Zoom Room
Session types—a family of type systems for message-passing concurrency—have been subject to many extensions where each extension comes with a separate type safety proof. These extensions cannot be readily combined, and existing type safety proofs are generally not machine-checked, making their correctness less trustworthy. We overcome these shortcomings with a semantic approach to binary asynchronous affine session types using a logical relations model in the Iris framework in Coq. We demonstrate the power of our approach by combining various forms of polymorphism and recursion, asynchronous subtyping, unique and shared references, and locks/mutexes, with little proof effort. As an additional benefit of the semantic approach we demonstrate how to integrate manual verification of racy but safe programs as part of well-typed programs.
Reuben Rowe | A Reconstruction of the Statix Constraint Language
Next: Bohdan Liesnikov | Writing plugins and proving them correct in MetaCoq