Simulation in the Call-by-Need Lambda-Calculus with Letrec, Case, Constructors, and Seq
Manfred Schmidt-Schau{\ss} (Dept. Informatik und Mathematik, Inst., Informatik, J.W. Goethe-University, Frank), David Sabel (Dept. Informatik und, Mathematik, Inst. Informatik, J.W. Goethe-University, Frank), Elena, Machkasova (Division of Science, Mathematics

TL;DR
This paper establishes the equivalence of various notions of program similarity and approximation in a call-by-need lambda calculus extended with data constructors, case expressions, and seq, using translations to a call-by-name calculus.
Contribution
It introduces a novel approach to proving equivalences in a call-by-need calculus with letrec and data features via translations to a call-by-name calculus, simplifying correctness proofs.
Findings
Proves equivalence of applicative similarity and contextual approximation in LR calculus.
Develops translations from call-by-need to call-by-name calculus with correctness guarantees.
Shows an isomorphism between the calculi, preserving expressions without letrec.
Abstract
This paper shows equivalence of several versions of applicative similarity and contextual approximation, and hence also of applicative bisimilarity and contextual equivalence, in LR, the deterministic call-by-need lambda calculus with letrec extended by data constructors, case-expressions and Haskell's seq-operator. LR models an untyped version of the core language of Haskell. The use of bisimilarities simplifies equivalence proofs in calculi and opens a way for more convenient correctness proofs for program transformations. The proof is by a fully abstract and surjective transfer into a call-by-name calculus, which is an extension of Abramsky's lazy lambda calculus. In the latter calculus equivalence of our similarities and contextual approximation can be shown by Howe's method. Similarity is transferred back to LR on the basis of an inductively defined similarity. The translation from…
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.
