Lambda演算中是否允许使用未绑定变量?

Lambda演算中是否允许使用未绑定变量?,lambda,lambda-calculus,Lambda,Lambda Calculus,您好,我正在尝试理解lambda演算,不幸的是,我对未绑定变量的主题感到困惑。 这是我从我的教授那里得到的关于有效lambda表达式的列表(不知道为什么他不使用点,就像我在互联网上其他地方看到的那样,顺便说一句) 现在我对其中的几个感到困惑。说第五个:λx.(xy) 为什么这是一个有效的表达式?我不认为我可以这样使用这个表达式,因为y是未绑定的:(λx(xy))5 以下是我尝试过的一些练习: 这些答案正确吗 a) 对 b) 对 c) 对 d) 没有 e) 对 f) 对 g) 对 这一切感觉都

您好,我正在尝试理解lambda演算,不幸的是,我对未绑定变量的主题感到困惑。 这是我从我的教授那里得到的关于有效lambda表达式的列表(不知道为什么他不使用点,就像我在互联网上其他地方看到的那样,顺便说一句)

现在我对其中的几个感到困惑。说第五个:λx.(xy) 为什么这是一个有效的表达式?我不认为我可以这样使用这个表达式,因为y是未绑定的:(λx(xy))5

以下是我尝试过的一些练习:

这些答案正确吗

a) 对

b) 对

c) 对

d) 没有

e) 对

f) 对

g) 对

这一切感觉都不对,如果不允许使用未绑定的变量,那么这一切就更符合逻辑了。然后答案会是这样的:

a) 对

b) 没有

c) 对

d) 没有

e) 对

f) 没有

g) 没有


我想我已经接近了解这一点了,但我需要在后面最后一次推才能完全理解。无论如何,谢谢你的帮助

在表达式中使用未绑定(自由)变量没有什么错。它们通常被认为是在全球范围内

这非常类似于说:

f(x) = x^y
其中x是有界局部变量,y是自由全局变量。对于给定的x值,我们没有足够的信息来数值求解f(x),但代数上,
f(5)=5^y

根据同样的逻辑,可以说
(λx.y)(…)=y
。我们没有y的值,但我们不需要

没有自由变量的lambda叫什么?一个组合器。这很有趣,因为这是真的