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

无类型λ演算中的按值调用终止

Call-by-value Termination in the Untyped lambda-calculus

Neil D. Jones, Nina Bohr

摘要:

一个全自动的算法开发能够显示,一个给定的无类型的可扩展表达式的评估将终止CBV(按值调用)。本文分两步将一阶程序中的“变长原理”推广到任意无类型的可达表达式。第一步足以显示单个独立lambda;-表达式的CBV终止。第二个足以显示CBV终止的任何成员的一个正规的一组的Adjuda表达式,定义了一个树语法。(一个简单的例子是最小函数,当应用于任意的丘奇数时。该算法是合理的,并在本文中证明。停机问题的不可判定性意味着任何合理的算法都必然是不完整的:某些可达表达式实际上可能在CBV求值下终止,但不被认为是终止的。终止算法的强度相当高。它证明了许多有趣和有用的通用递归算法,包括相互递归和参数交换的程序,以及Colson的“最小值”算法。此外,我们的无类型方法允许使用Y组合子,因此可以识别为终止PCF的大量子集。

英文摘要:

A fully-automated algorithm is developed able to show that evaluation of a given untyped lambda-expression will terminate under CBV (call-by-value). The ``size-change principle'' from first-order programs is extended to arbitrary untyped lambda-expressions in two steps. The first step suffices to show CBV termination of a single, stand-alone lambda;-expression. The second suffices to show CBV termination of any member of a regular set of lambda-expressions, defined by a tree grammar. (A simple example is a minimum function, when applied to arbitrary Church numerals.) The algorithm is sound and proven so in this paper. The Halting Problem's undecidability implies that any sound algorithm is necessarily incomplete: some lambda-expressions may in fact terminate under CBV evaluation, but not be recognised as terminating. The intensional power of the termination algorithm is reasonably high. It certifies as terminating many interesting and useful general recursive algorithms including programs with mutual recursion and parameter exchanges, and Colson's ``minimum'' algorithm. Further, our type-free approach allows use of the Y combinator, and so can identify as terminating a substantial subset of PCF.

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

↑