2,610,358 research outputs found

    Trees from Functions as Processes

    Get PDF
    Levy-Longo Trees and Bohm Trees are the best known tree structures on the {\lambda}-calculus. We give general conditions under which an encoding of the {\lambda}-calculus into the {\pi}-calculus is sound and complete with respect to such trees. We apply these conditions to various encodings of the call-by-name {\lambda}-calculus, showing how the two kinds of tree can be obtained by varying the behavioural equivalence adopted in the {\pi}-calculus and/or the encoding

    Formalizing Functions as Processes

    Get PDF
    We present the first formalization of Milner’s classic translation of the λ-calculus into the π-calculus. It is a challenging result with respect to variables, names, and binders, as it requires one to relate variables and binders of the λ-calculus with names and binders in the π-calculus. We formalize it in Abella, merging the set of variables and the set of names, thus circumventing the challenge and obtaining a neat formalization. About the translation, we follow Accattoli’s factoring of Milner’s result via the linear substitution calculus, which is a λ-calculus with explicit substitutions and contextual rewriting rules, mediating between the λ-calculus and the π-calculus. Another aim of the formalization is to investigate to which extent the use of contexts in Accattoli’s refinement can be formalized

    Non-Deterministic Functions as Non-Deterministic Processes

    Get PDF
    We study encodings of the λ-calculus into the π-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider λ^↯_⊕, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider sπ, a π-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 λ^↯_⊕ into sπ and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in λ^↯_⊕ via typed processes in sπ. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interactio

    Non-Deterministic Functions as Non-Deterministic Processes

    Get PDF
    We study encodings of the ?-calculus into the ?-calculus in the unexplored case of calculi with non-determinism and failures. On the sequential side, we consider ?^?_?, a new non-deterministic calculus in which intersection types control resources (terms); on the concurrent side, we consider ??, a ?-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 ?^?_? into ?? and establish its correctness. Our encoding precisely explains the interplay of non-deterministic and fail-prone evaluation in ?^?_? via typed processes in ??. In particular, it shows how failures in sequential evaluation (absence/excess of resources) can be neatly codified as interaction protocols

    Functions as Processes

    Get PDF

    Functions as processes

    Get PDF
    This paper exhibits accurate encodings of the l-calculus in the ¹-calculus. The former is canonical for calculation with functions, while the latter is a recent step towards a canonical treatment of concurrent processes. With quite simple encodings, two l-calculus reduction strategies are simulated very closely ; each reduction in l-calculus is mimicked by a short sequence of reductions in ¹-calulus. Abramsky's precongruence of applicative simulation over l-calculus is compared with that induced by the encoding of the lazy l-calculus into ¹-calculus ; a similar comparison is made for call-by-value l-calculus. The part of ¹-calculus which is needed for the encoding is formulated in a new way, inspired by Berry's and Boudol's chemical abstract machine. The new formulation is shown to be consistent with the original
    corecore