arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1012.4893cs.PL
收藏

用统一化和临界对计算求程序变换的正确性

Towards Correctness of Program Transformations Through Unification and Critical Pair Computation

Conrad Rau, Manfred Schmidt-Schauß

摘要:

在具有上下文语义的扩展lambda演算中,程序转换的正确性通常基于对操作语义的推理,该操作语义是重写语义。证明正确性的一个成功的方法是将上下文引理与程序转换和归约规则之间的重叠计算相结合,然后是所谓的完整图集。该方法类似于项重写系统完备化的临界对计算。我们探讨的情况下,这些重叠的计算可以在一阶的方式通过使用统一算法的关键对计算的变体。作为一个案例研究,我们应用该方法的λ演算与递归让表达式,并描述了一个有效的统一算法,以确定所有重叠的一组转换与所有减少规则。统一算法采用了许多排序的条款,左交换建模多集,上下文变量的不同种类和一个机制,competencies表示绑定链递归让表达式的方程理论。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑