我需要创建一些Lambda函数来处理 >, < 和 !=,但我不知道该如何操作,是否有人能帮助我?PS:我们刚开始学习Lambda演算,请不要假设任何先前的知识。谢谢提前!
编辑 - 我的意思是使用lambda演算实现Lambda演算中的算术运算
编辑2 - 更准确地说:寻找一个Church编码(lambda演算)来定义<、>和!=。
编辑者注: 我认为这就是OP所尝试询问的内容:
我正在尝试使用Church编码在无类型 lambda 演算中实现以下操作:
- 大于 (
GT
或>
)。 - 小于 (
LT
或<
)。 - 不等于 (
NE
或!=
)。
我已经知道如何实现以下内容:
- 布尔值 true (
TRUE
或λx.λy.x
)。 - 布尔值 false (
FALSE
或λx.λy.y
)。 - 逻辑 AND (
AND
或λp.λq.p q p
)。 - 逻辑 OR (
OR
或λp.λq.p p q
)。 - 逻辑 NOT (
NOT
或λp.λa.λb.p b a
)。
你会如何在无类型 lambda 演算中编写 GT
、LT
和 NE
函数?
(\a b -> a > b)
。您现在能创建另外两个吗? - Will Ness