【发布时间】:2017-04-02 08:13:26
【问题描述】:
我是 Lambda 微积分的新手。 我读过definition of lambda expression on Wikipedia。
Lambda 表达式集 Λ 可以归纳定义:
- 如果x是一个变量,那么x ∈ Λ
- 若x为变量且M ∈ Λ,则(λx.M) ∈ Λ
- 如果 M, N ∈ Λ,则 (M N) ∈ Λ
规则 2 的实例称为抽象,规则 3 的实例称为应用程序。
当M是一个函数抽象,即(λx.E)的形式时,我知道规则2的含义.
但是M不是函数是什么意思呢?比如,只是一个变量x或者一个非函数表达式x + y
【问题讨论】:
-
x + y不是 lambda 表达式,所以这不会发生。 -
见en.wikipedia.org/wiki/Lambda_calculus_definition#Reduction。如果 M 是一个变量,则表达式不能进一步简化(除非另一个 beta 简化用抽象替换变量)。