【Programming Languages And Lambda calculi】4.7~4.8 关于Lambda演算的一些事实 范式 历史 第四章完

本文讨论了Lambda演算的一些核心概念,包括完全还原的表达式、范式及其重要性。范式是无法再由 →nβ →nη 约化的表达式,每个表达式最多有一个范式。此外,介绍了Church-Rosser性质和良序约化,展示了Lambda演算的历史背景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

4.7 关于Lambda演算的一些事实

什么时候一个表达式是完全还原的?几乎所有的表达式可以用 →nα 将变量名重命名来约化,所以 →nα 不能被算在定义内。因此,一个完全还原的表达式是无法再由 →nβnη 约化的表达式。

概念:

  • 如果一个表达式无法再由 →nβnη 约化,则它被称为范式。

  • M 有范式 N 如果 M =n N 并且 N 是范式。

范式的作用与Lambda演算表达式的结果一样。如果一个表达式有范式,则它有且仅有唯一的范式(可能通过很多不同的约化得到)。更准确地说, →nα 重命名取模只能得到一个范式。

定理 4.2 [范式] : 如果 L =n M,L =n M,并且 M 和 N都是范式,则 M =α N

如往常一样, =α 为由 α 兼容闭合生成的等价关系。定理 4.2 易由 Church-Rosser 性质证明:

***定理 4.3 [ =n 代表 Church-Rosser 关系]***: 如果 M =n N,则存在一个L’ 使得 M →→n L’ 且 N →→n L’

至于 =r ,这个定理的证明取决于 →→n 的棱形性质。

定理 4.4 [ →→n 代表棱形性质] : 如果 L →→n M 且 L →→n N,则存在一个表达式 L’ 使 M →→n L’ 且 N →→n L’

单步关系 →n 并不满足棱形性质,甚至不满足轻微的扭曲关系,比如 →r 的类-棱形性质。原因是→nβ 可以重复可约表达式。比如:
在这里插入图片描述

对于上述的两个约化表达式,没有一个单步关系能够将他们约化为同一个表达式。在下一节我们会知道,解决这个问题的方式是围绕子关系式定义一个平行约化的概念,这样左边的两个((λy.y) (λz.z))子表达式可以被同时约化。现在,我们暂时不会尝试证明定理 4.4。在下一章我们会演示关联语言的棱形性质。

不像 B 中的关系式,每一个表达式的结果不是 f 就是 t,并不是每一个Lambda表达式都有范式。比如,Ω 不存在范式:
在这里插入图片描述

即使一个表达式存在范式,也有可能存在一个无限约化顺序使其永远无法变成范式,例如:
在这里插入图片描述

因此,定理 4.2 只保证最多只存在一个范式,但是我们目前为止并没有找到它的方法。直观上来说,上述这个无限约化的问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值