Automating the Diagram Method to Prove Correctness of Program Transformations

02/22/2019
by   David Sabel, et al.
0

We report on the automation of a technique to prove the correctness of program transformations in higher-order program calculi which may permit recursive let-bindings as they occur in functional programming languages. A program transformation is correct if it preserves the observational semantics of programs. In our LRSX Tool the so-called diagram method is automated by combining unification, matching, and reasoning on alpha-renamings on the higher-order meta-language, and automating induction proofs via an encoding into termination problems of term rewrite systems. We explain the techniques, we illustrate the usage of the tool, and we report on experiments.

READ FULL TEXT
research
11/28/2020

A Deductive Verification Framework For Higher Order Programs

In this report, we present the preliminary work developed for our resear...
research
02/23/2023

Certifying Higher-Order Polynomial Interpretations

Higher-order rewriting is a framework in which one can write higher-orde...
research
07/25/2023

Higher-Order LCTRSs and Their Termination

Logically constrained term rewriting systems (LCTRSs) are a program anal...
research
05/22/2017

Imperative Functional Programs that Explain their Work

Program slicing provides explanations that illustrate how program output...
research
01/07/2020

Retentive Lenses

Based on Foster et al.'s lenses, various bidirectional programming langu...
research
02/22/2019

Reducing Total Correctness to Partial Correctness by a Transformation of the Language Semantics

We give a language-parametric solution to the problem of total correctne...
research
08/16/2021

Automating the Functional Correspondence between Higher-Order Evaluators and Abstract Machines

The functional correspondence is a manual derivation technique transform...

Please sign up or login with your details

Forgot password? Click here to reset