【问题标题】:Query on lambda calculus addition查询 lambda 演算加法
【发布时间】:2018-02-02 22:44:01
【问题描述】:

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

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

【问题讨论】:

    标签: lambda-calculus


    【解决方案1】:

    你知道什么是 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,它可以是β-reduced。实际的减少留给读者作为练习。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多