在lambda演算的上下文中,自由变量和变量的自由出现之间是否有任何区别?如果是,那么请用一两个例子来解释。 实际上我正在浏览lambda表达式的转换规则,其中我遇到了以下行:
在说明转换规则时,符号
var vertices = [ // Front face -1.0, -1.0, 1.0, 1.0, -1.0, 1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, ... ]
用于表示E[E'/V]
替换E'
V
中E
每次出现的结果
答案 0 :(得分:1)
我们来看T:
t\q\p\ (t x (x\ q x) (p q x)
(其中x \ t表示lambda x.t - 这是Lambda-Prolog表示法)
有一个自由变量:x和四个绑定变量,其中一个也被命名为x。但是两个“x”是不 相同的变量(在某种意义上,该术语可以被alpha重命名为t\q\p\ (t x (y\ q y) (p q x)
但不是,例如,t\q\p\ (t x (y\ q y) (p q y)
在上面的术语T中,变量x有两个自由出现,另一个变量有一个绑定出现,也称为x。
现在,如果您的问题是“可以在同一个词中,相同变量的自由发生和绑定出现,是绑定还是免费? “,我不这么认为。