Visible to the public Inductive and Coinductive Session Types in Higher-Order Concurrent ProgramsConflict Detection Enabled

TitleInductive and Coinductive Session Types in Higher-Order Concurrent Programs
Publication TypeMiscellaneous
Year of Publication2013
AuthorsBernardo Toninho, Luis Caires, Frank Pfenning
KeywordsCMU
Abstract

We develop a theory of inductive and coinductive session types in a computational interpretation of linear logic, enabling the representation of potentially infinite interactions in a compositionally sound way that preserves logical soundness, a major stepping stone towards a full dependent type theory for expressing and reasoning about session-based concurrent higher order distributed programs. The language consists of a l-calculus with inductive types and a contextual monadic type encapsulating session-based concurrency, treating monadic values as first-class objects. We consider general fixpoint and cofixpoint constructs, subject to natural syntactic constraints, as a means of producing inductive and coinductive definitions of session-typed processes, that until now have only been considered using general recursion, which is incompatible with logical consistency and introduces compositional divergence. We establish a type safety result for our language, including protocol compliance and progress of concurrent computation, and also show, through a logical relations argument, that all well-typed programs are compositionally non-divergent. Our results entail the logical soundness of the framework, and enable compositional reasoning about useful infinite interactive behaviors, while ruling out unproductive infinite behavior.

Citation Keynode-30178

Other available formats:

Toninho_Inductive_and_Coinductive_FP.pdf
AttachmentTaxonomyKindSize
Toninho_Inductive_and_Coinductive_FP.pdfPDF document366.71 KBDownloadPreview
AttachmentSize
bytes