Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
Conrad Rau, Manfred Schmidt-Schau{\ss}

TL;DR
This paper presents a novel method for verifying the correctness of program transformations in extended lambda calculi by using unification-based critical pair computation, demonstrated through a case study involving recursive let-expressions.
Contribution
It introduces a first-order unification approach for computing overlaps in program transformations, enhancing correctness proofs in lambda calculus with recursive constructs.
Findings
Effective unification algorithm for overlaps in lambda calculus
Application to recursive let-expressions case study
Improved correctness verification method for program transformations
Abstract
Correctness of program transformations in extended lambda calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach to proving correctness is the combination of a context lemma with the computation of overlaps between program transformations and the reduction rules, and then of so-called complete sets of diagrams. The method is similar to the computation of critical pairs for the completion of term rewriting systems. We explore cases where the computation of these overlaps can be done in a first order way by variants of critical pair computation that use unification algorithms. As a case study we apply the method to a lambda calculus with recursive let-expressions and describe an effective unification algorithm to determine all overlaps of a set of transformations with all reduction rules. The…
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.
