Towards Correctness of Program Transformations Through Unification and Critical Pair Computation

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 overlap...

Full description

Bibliographic Details
Main Authors: Manfred Schmidt-Schauß, Conrad Rau
Format: Article
Language:English
Published: Open Publishing Association 2010-12-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1012.4893v1
id doaj-c6d6784c8af6476a83af3758249ccc52
record_format Article
spelling doaj-c6d6784c8af6476a83af3758249ccc522020-11-25T01:08:51ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802010-12-0142Proc. UNIF 2010395310.4204/EPTCS.42.4Towards Correctness of Program Transformations Through Unification and Critical Pair ComputationManfred Schmidt-SchaußConrad RauCorrectness 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 unification algorithm employs many-sorted terms, the equational theory of left-commutativity modelling multi-sets, context variables of different kinds and a mechanism for compactly representing binding chains in recursive let-expressions. http://arxiv.org/pdf/1012.4893v1
collection DOAJ
language English
format Article
sources DOAJ
author Manfred Schmidt-Schauß
Conrad Rau
spellingShingle Manfred Schmidt-Schauß
Conrad Rau
Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
Electronic Proceedings in Theoretical Computer Science
author_facet Manfred Schmidt-Schauß
Conrad Rau
author_sort Manfred Schmidt-Schauß
title Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
title_short Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
title_full Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
title_fullStr Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
title_full_unstemmed Towards Correctness of Program Transformations Through Unification and Critical Pair Computation
title_sort towards correctness of program transformations through unification and critical pair computation
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2010-12-01
description 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 unification algorithm employs many-sorted terms, the equational theory of left-commutativity modelling multi-sets, context variables of different kinds and a mechanism for compactly representing binding chains in recursive let-expressions.
url http://arxiv.org/pdf/1012.4893v1
work_keys_str_mv AT manfredschmidtschauß towardscorrectnessofprogramtransformationsthroughunificationandcriticalpaircomputation
AT conradrau towardscorrectnessofprogramtransformationsthroughunificationandcriticalpaircomputation
_version_ 1725181260066717696