Equivalence of eval-readback and eval-apply big-step evaluators by structuring the lambda-calculus's strategy space
Pablo Nogueira, \'Alvaro Garc\'ia-P\'erez

TL;DR
This paper proves the equivalence between eval-readback and eval-apply big-step evaluators in lambda calculus, using a structured approach to the strategy space and a lightweight fusion transformation, with formal proofs and extensive survey.
Contribution
It introduces a formal proof of one-step equivalence between two evaluator styles and structures the strategy space for lambda calculus evaluators.
Findings
One-step equivalence holds under specific well-formedness and strategy conditions.
The proof uses a fixed-point promotion transformation to fuse evaluators.
Provides a comprehensive survey of evaluation strategies and their properties.
Abstract
We study the equivalence between eval-readback and eval-apply big-step evaluators in the general setting of the pure lambda calculus. We study `one-step' equivalence (same strategy) and also discuss `big-step' equivalence (same final result). One-step equivalence extends for free to evaluators in other settings (calculi, programming languages, proof assistants, etc.) by restricting the terms (closed, convergent) while maintaining the strategy. We present a proof that one-step equivalence holds when (1) the `readback' stage satisfies straightforward well-formedness provisos, (2) the `eval' stage implements a `uniform' strategy, and (3) the eval-apply evaluator implements a `balanced hybrid' strategy that has `eval' as a subsidiary strategy. The proof proceeds the `lightweight fusion by fixed-point promotion' program transformation on evaluator implementations to fuse readback and eval…
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 · Advanced Software Engineering Methodologies
