Lambda 是\x->\x->;xα相当于\x->\y->;x?

Lambda 是\x->\x->;xα相当于\x->\y->;x?,lambda,lambda-calculus,Lambda,Lambda Calculus,所以我知道在\x->\y->x中,第二个x绑定到第一个(请纠正我的错误),在\x->\x->x中,最后一个x绑定到中间的一个。但是当涉及到阿尔法等价时,这会有区别吗 \x->\x->xalpha是否等同于\x->\y->x?如果两个术语t1和t2是alpha等价的,那么对于任何上下文E[.],E[t1]和E[t2]减少为相同的术语 因此,如果您有两个术语,并且您找到了一个上下文,使它们简化为两个不同的术语,那么您知道它们不是alpha等价的 在这里,您有t1=\x.\x.x和t2=\x.\y.x

所以我知道在
\x->\y->x
中,第二个x绑定到第一个(请纠正我的错误),在
\x->\x->x
中,最后一个x绑定到中间的一个。但是当涉及到阿尔法等价时,这会有区别吗


\x->\x->x
alpha是否等同于
\x->\y->x

如果两个术语
t1
t2
是alpha等价的,那么对于任何上下文
E[.]
E[t1]
E[t2]
减少为相同的术语

因此,如果您有两个术语,并且您找到了一个上下文,使它们简化为两个不同的术语,那么您知道它们不是alpha等价的

在这里,您有
t1=\x.\x.x
t2=\x.\y.x
,以应用两个不同术语的上下文为例,例如
v1
v2
,您有:

t1 v1 v2 = (\x.\x.x) v1 v2 --> (\x.x) v2 --> v2

因此,你可以推断它们不是阿尔法等价物


也就是说,如果你真的想使用阿尔法等价,你应该花时间去理解什么是自由变量和有界变量,并问问自己,就变量绑定而言,阿尔法等价意味着什么。

如果两个术语
t1
t2
是阿尔法等价的,那么对于任何上下文
E[。]
E[t1]
E[t2]
减少为同一术语

因此,如果您有两个术语,并且您找到了一个上下文,使它们简化为两个不同的术语,那么您知道它们不是alpha等价的

在这里,您有
t1=\x.\x.x
t2=\x.\y.x
,以应用两个不同术语的上下文为例,例如
v1
v2
,您有:

t1 v1 v2 = (\x.\x.x) v1 v2 --> (\x.x) v2 --> v2

因此,你可以推断它们不是阿尔法等价物


这就是说,如果你真的想使用alpha等价,你应该花时间去理解什么是自由变量和有界变量,并问问自己,就变量绑定而言,alpha等价意味着什么。

我会努力做到不必在意。不要重复我的名字,我会努力奋斗,从不去在意。不要重复使用名字