如何使用下面给出的加法算术表示法在lambda演算中添加两个数字?
m + n = λx.λy.(m x) (n x) y
2 = λa.λb.a (a b)
3 = λa.λb.a (a (a b))
答案 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 ,它可以是β减少的。实际减少留给读者练习。