在我继续尝试学习lambda演算的过程中,Hindley&Seldin的“ Lambda-Calculus and Combinators简介”中提到了以下论文(由Bruce Lercher撰写),该论文证明了唯一可还原的表达式与其自身相同(模Alpha转换)是:。
尽管我相信结果,但我完全不遵循这一论点。
它很短(少于一个段落)。任何解释将是最欢迎的。
谢谢,
查理
在我继续尝试学习lambda演算的过程中,Hindley&Seldin的“ Lambda-Calculus and Combinators简介”中提到了以下论文(由Bruce Lercher撰写),该论文证明了唯一可还原的表达式与其自身相同(模Alpha转换)是:。
尽管我相信结果,但我完全不遵循这一论点。
它很短(少于一个段落)。任何解释将是最欢迎的。
谢谢,
查理
Answers:
首先,请注意,该结果指出,右侧等于左侧(模alpha转换)的唯一beta redex是。在上下文中具有此redex,还有其他一些术语会减少。
我可以看到Lercher的大多数证明工作是如何进行的,尽管有些地方如果不稍加修改就无法通过。假设(我使用表示alpha等价),并且根据变量约定,假设在中不自由出现。
计算左侧和右侧的数量。还原移除一个从归约式,加上那些的,以及多达有在添加倍的出现次数中。换言之,如果是数量的在和是游离出现数在然后。Diophantine方程的唯一解决方案是(和但我们不会使用该事实)。
对于以上段落,我不理解莱切尔的观点。他计算和原子项的数量;让我们写这个。等式为,它有两个解:和。我看不出消除第二种可能性的明显方法。
现在让我们对两边等于的数量应用相同的推理。还原移除一个靠近顶部,并作为有取代的出现许多增加在,即2。因此之一多个发生必须消失; 由于的那些仍然存在(因为包含自由),因此在左侧的额外出现必须为。
我不明白Lercher如何推断没有作为子项,但这实际上与证明无关。
根据最初的假设,是一个应用程序。这不可能是的情况下,如果,因此本身是一个应用,具有。由于不能将自身作为子项,因此不能具有的形式,因此。同样,。
我更喜欢无数论证的证明。假设。
如果则我们有,这是不可能的,因为不能是其自身的子项。因此,由于假设的右手边等于应用程序,因此必须是应用程序和和。
根据以前的等式,或。在第二种情况下,,这是不可能的,因为$ A_1不能成为其自身的子项。阿1 = λ X 。[ 乙/ X ] 甲阿1 = λ X 。(λ X 。阿1 阿2)乙
根据后者的等式,或没有自由(否则将是其自身的子项)。在后一种情况下,。A 2 x B A 2 = B
我们已经证明。因此,初始假设的右侧为,并且 =。乙乙乙= λ X 。一λ X 。X X