0

我是新来的,也是 lambda 演算的新手。我的问题是:在 lambda 演算归约(到正常形式)中,有没有办法评估表达式(以确保我正确地进行了归约)。

例如(/ 代表 lambda)(使用 beta 方法)

/x.y(/z.xz))(/y.zy)

=> /x.y(/z.xz))z => (/x.yx)z => yz

现在如何确保我的减少是正确的?有没有一种方法可以评估原始版本并将其与简化版本进行比较?

4

1 回答 1

1

您在那里所做的是对该 Lambda 表达式的评估。如果你的意思是让计算机评估它,像这样的 lambda 函数

公式

在 Haskell 中是这样写的:

(\a b => b a)

Python:

lambda a, b: b(a)

C#:

(a, b) => b(a)
于 2018-04-19T16:38:54.693 回答