Unfolding Semantics of the Untyped {\lambda}-Calculus with letrec
Jan Rochel

TL;DR
This paper explores the semantics of untyped lambda calculus with letrec, providing formal tools to characterize, compare, and optimize infinite unfoldings of lambda-letrec terms.
Contribution
It introduces formal rewriting systems and graph-based formalisms to analyze and optimize lambda-letrec terms and their infinite unfoldings.
Findings
Characterization of lambda-letrec-expressible infinite lambda-terms
Methods to determine equivalence of lambda-letrec terms under unfolding
Techniques for computing maximally shared, compact lambda-letrec representations
Abstract
We investigate the relationship between finite terms in {\lambda}-letrec, the {\lambda}-calculus with letrec, and the infinite {\lambda}-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 {\lambda}-terms that are {\lambda}-letrec-expressible? (ii) Given two {\lambda}-letrec terms, how can we determine whether they have the same unfolding? (iii) Given a {\lambda}-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 {\lambda}-letrec terms into…
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 · Logic, Reasoning, and Knowledge · Semantic Web and Ontologies
