我们目前正在研究Lambda微积分,并已开始进行Beta降低。 我们的讲师使用的注释没有正确地向我们解释。 以下是我们得到的。
?减少:
(λ v . e₁) e₂
⤳?
[e₂/v]e₁ where [e₂/v] is an operator that replaces each v with an e₂
运算符[e / v]的定义
[e/v]v = e
[e/v₂]v₁ = v₁ (when v₁≠v₂, i.e., different identifiers)
[e/v](e₁ e₂) = [e/v]e₁ [e/v]e₂
[e₂/v](λ v . e₁) = (λ v . e₁)
[e₂/v₂](λ v₁ . e₁) = (λ v₁ . [e₂/v₂]e₁) (when v₁∉FV(e₂))
[x/v] (λ x . f v)
⤳ λ x . f x (WRONG, x∈FV(x)={x})
我试图在线查找资源,但是似乎没有人使用与他相同的符号(带有'/'符号)。 以上代码的任何解释将不胜感激。