Unfolding Semantics of the Untyped λ-Calculus with letrec

October 19, 2016 · Declared Dead · + Add venue

👻 CAUSE OF DEATH: Ghosted
No code link whatsoever

"No code URL or promise found in abstract"

Evidence collected by the PWNC Scanner

Authors Jan Rochel arXiv ID 1610.05954 Category cs.PL: Programming Languages Citations 0 Last Checked 4 months ago
Abstract
We investigate the relationship between finite terms in λ-letrec, the λ-calculus with letrec, and the infinite λ-terms they express. We say that a lambda-letrec term expresses a lambda-term if the latter can be obtained as an infinite unfolding of the former. Unfolding is the process of substituting occurrences of function variables by the right-hand side of their definition. We consider the following questions: (i) How can we characterise those infinite λ-terms that are λ-letrec-expressible? (ii) Given two λ-letrec terms, how can we determine whether they have the same unfolding? (iii) Given a λ-letrec term, can we find a more compact version of the term with the same unfolding? To tackle these questions we introduce and study the following formalisms: (i) a rewriting system for unfolding λ-letrec terms into λ-terms (ii) a rewriting system for `observing' λ-terms by dissecting their term structure (iii) higher-order and first-order graph formalisms together with translations between them as well as translations from and to λ-letrec. We identify a first-order term graph formalism on which bisimulation preserves and reflects the unfolding semantics of λ-letrec and which is closed under functional bisimulation. From this we derive efficient methods to determine whether two terms are equivalent under infinite unfolding and to compute the maximally shared form of a given λ-letrec term.
Community shame:
Not yet rated
Community Contributions

Found the code? Know the venue? Think something is wrong? Let us know!

📜 Similar Papers

In the same crypt — Programming Languages

Died the same way — 👻 Ghosted