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

代数λ-演算的按值调用、按名称调用和向量行为

Call-by-value, call-by-name and the vectorial behaviour of the algebraic λ-calculus

Ali Assaf, Alejandro Díaz-Caro, Simon Perdrix, Christine Tasson, Benoî t Valiron

摘要:

我们研究了代数演算,微分代数演算的一个片段和线性代数代数演算,量子计算的候选代数代数演算之间的关系。这两个演算都是代数的:每一个都配备有加法和标量乘法结构,并且它们的项集合在线性组合下是封闭的。然而,这两种语言是使用不同的方法构建的:前者是按名称调用的语言,而后者是按值调用的语言;前者考虑代数等式,而后者通过重写规则来处理它们。在本文中,我们分析这些不同的方法是如何相互关联的。为此,我们提出了四个规范语言的基础上,每一个可能的选择:调用的名称与调用的值,代数等式与代数重写。我们表明,各种语言相互模拟。由于beta归约和代数重写之间的微妙相互作用,为了使语言保持一致,可能需要一些额外的假设,如融合或规范化。我们仔细设计了每个证明所需的属性,使它们足够通用,对满足相应属性的任何子语言都有效。

英文摘要:

We examine the relationship between the algebraic lambda-calculus, a fragment of the differential lambda-calculus and the linear-algebraic lambda-calculus, a candidate lambda-calculus for quantum computation. Both calculi are algebraic: each one is equipped with an additive and a scalar-multiplicative structure, and their set of terms is closed under linear combinations. However, the two languages were built using different approaches: the former is a call-by-name language whereas the latter is call-by-value; the former considers algebraic equalities whereas the latter approaches them through rewrite rules. In this paper, we analyse how these different approaches relate to one another. To this end, we propose four canonical languages based on each of the possible choices: call-by-name versus call-by-value, algebraic equality versus algebraic rewriting. We show that the various languages simulate one another. Due to subtle interaction between beta-reduction and algebraic rewriting, to make the languages consistent some additional hypotheses such as confluence or normalisation might be required. We carefully devise the required properties for each proof, making them general enough to be valid for any sub-language satisfying the corresponding properties.

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

↑