Non-Deterministic Functions as Non-Deterministic Processes (Extended Version)
Joseph W. N. Paulus, Daniele Nantes-Sobrinho, Jorge A. P\'erez

TL;DR
This paper explores how non-deterministic lambda-calculus with failures can be encoded into a concurrent pi-calculus framework, revealing insights into resource management and failure handling through typed process interactions.
Contribution
It introduces a typed encoding of a new non-deterministic lambda-calculus into pi-calculus, clarifying the relationship between sequential failures and concurrent interactions.
Findings
Encoding accurately models resource-related failures
Typed processes explain non-determinism and failures
Shows resource management as interaction protocols
Abstract
We study encodings of the lambda-calculus into the pi-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider lambdafail, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider spi, a pi-calculus in which non-determinism and failure rest upon a Curry-Howard correspondence between linear logic and session types. We present a typed encoding of lambdafail into spi and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in lambdafail via typed processes in spi. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
