On the Expressivity of Typed Concurrent Calculi
Joseph William Neal Paulus
TL;DR
This work investigates the expressivity of typed concurrent calculi relative to sequential computation by constructing type-preserving encodings from resource λ-calculi with non-determinism and explicit failure into a session-typed π-calculus. The approach hinges on non-idempotent intersection types for the λ-side and session types linked to linear logic for the π-side, enabling precise, resource-aware translations and correctness proofs. It distinguishes confluent and non-confluent forms of nondeterminism, introduces sharing-based techniques to manage multiple variable occurrences, and extends the framework to unrestricted resources via a second calculi, λ^{!⟂} , with corresponding encodings. Correctness is established through Gorla-style criteria (type preservation, operational completeness and soundness, and success sensitivity) adapted to typed settings, culminating in a two-step encoding chain and several motivating examples. The results illuminate a deep connection between sequential resource-conscious reasoning and concurrent protocol-based interaction, with potential applications in designing typed functional-concurrent languages and reasoning about resource-aware verification. The work thereby advances the understanding of how interactive behavior generalizes sequential computation and provides a robust methodology for transferring reasoning techniques across paradigms.}
Abstract
This thesis embarks on a comprehensive exploration of formal computational models that underlie typed programming languages. We focus on programming calculi, both functional (sequential) and concurrent, as they provide a compelling rigorous framework for evaluating program semantics and for developing analyses and program verification techniques. This is the full version of the thesis containing appendices.
