1

我必须确定函数 s1 和 s2 的自由和有界变量集:

s1 := \x -> if y then \z -> (x \y -> y) else (\z -> w) x

所以,对于 s1 我会写:

FV(s1):= FV (y) ∪ FV (x) ∪ FV (w)

我对么?或者应该是:

FV(s1):= FV (y) ∪ FV (x) ∪ FV (y) ∪ FV (w) ∪ FV (x)

因为 y 和 x 是两次免费的。一旦 y 在 If 然后 -> y 的结果和 x: x 在 \z 的结果中是自由的一次,在最后是第二次。

有界变量将是:

BV(s1):= BV (x) ∪ BV (z) ∪ BV (y) ∪ BV (z)

因为 z 是有界 var 的两倍。

以同样的方式,我会确定 s2 的 FV 和 BV:

s2 := let f x1  x2 = y1  (\x -> x2) in let y1 = f w (f y2  y2), y2 = y1  in f

FV(s2):= FV (y1) ∪ FV (x2) ∪ FV (w) ∪ FV (y1)

BV(s2):= BV (f) ∪ BV (x1) ∪ BV (x2) ∪ BV (x) ∪ BV (y1)

你能告诉我我是对还是错?

提前致谢

4

1 回答 1

3
于 2013-05-26T23:04:57.640 回答