Technical report Frank / JohannWolfgangGoetheUniversität, Fachbereich Informatik und Mathematik, Institut für Informatik
1 search hit
 41

Towards correctness of program transformations through unification and critical pair computation
(2010)

Conrad Rau
Manfred SchmidtSchauß
 Correctness of program transformations in extended lambdacalculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach is the combination of a context lemma with the computation of overlaps between program transformations and the reduction rules, which results in socalled 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 of an application we describe a finitary and decidable unification algorithm for the combination of the equational theory of leftcommutativity modelling multisets, context variables and manysorted unification. Sets of equations are restricted to be almost linear, i.e. every variable and context variable occurs at most once, where we allow one exception: variables of a sort without ground terms may occur several times. Every context variable must have an argumentsort in the free part of the signature. We also extend the unification algorithm by the treatment of bindingchains in let and letrecenvironments and by contextclasses. This results in a unification algorithm that can be applied to all overlaps of normalorder reductions and transformations in an extended lambda calculus with letrec that we use as a case study.