查询lambda演算的加法

时间:2018-02-02 22:44:01

标签: lambda-calculus

如何使用下面给出的加法算术表示法在lambda演算中添加两个数字?

m + n = λx.λy.(m x) (n x) y
2 = λa.λb.a (a b)
3 = λa.λb.a (a (a b))

1 个答案:

答案 0 :(得分:0)

你知道2是什么,3是什么,以及增加了什么。拿出值,然后把它们粘在操作中!

2 + 3 = (λx.λy.(m x) (n x) y) (λa.λb.a (a b)) (λa.λb.a (a (a b)))
        |-------- + --------| |----- 2 -----| |------- 3 -------|

这是一个左边是lambda的应用程序。这样的术语称为 redex ,它可以是β减少的。实际减少留给读者练习。