Abstract

Session types provide a principled programming discipline for structured interactions. They represent a wide spectrum of type-systems for concurrency. Their type safety is thus extremely important. EMTST is a tool to aid in representing and validating theorems about session types in the Coq proof assistant. On paper, these proofs are often tricky, and error prone. In proof assistants, they are typically long and difficult to prove. In this work, we propose a library that helps validate the theory of session types calculi in proof assistants. As a case study, we study two of the most used binary session types systems: we show the impossibility of representing the first system in alpha -equivalent representations, and we prove type preservation for the revisited system. We develop our tool in the Coq proof assistant, using locally nameless for binders and small scale reflection to simplify the handling of linear typing environments.

Highlights

  • Given the prevalence of distributed computing and multi-core processors, concurrency is a key aspect of modern computing

  • We concentrate on providing tools for reasoning about session types [10], a typing discipline for structured interactions in distributed systems

  • Type systems offer certain security properties by construction. These guarantees are backed by rigorous proofs

Read more

Summary

Introduction

Given the prevalence of distributed computing and multi-core processors, concurrency is a key aspect of modern computing. Session types are applied to a wide range of problems, and their properties, such as deadlock-freedom, are well studied These calculi are very expressive, and rather complex, with features like: shared and linear communication channels, name passing, and fresh name generation. Type systems offer certain security properties by construction These guarantees are backed by rigorous proofs (these proofs conform the meta-theory of the system). We use the Coq proof assistant [20] to study the representation and meta-theory of the two systems described in [23]. We discuss how the revised system allows us to implement and prove type preservation In hindsight, this problem appears as evident, but it is an unexpected consequence, and it shows that mechanising proofs brings further understanding even to well-established and thoroughly studied systems.

EMTST: a Tool for Representing the Meta-theory of Session Types
Environments and Multiple Name Scopes
Two Case Studies on Binary Session Types
The Original System
The Revised System
Related Work and Conclusions
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.