【问题标题】:How can I prove XOR true true = false in lambda calculus?如何在 lambda 演算中证明 XOR true true = false?
【发布时间】:2020-09-09 21:39:01
【问题描述】:

我知道 XOR= (a)((b)(false)(true))(b) 但是我怎样才能减少 [xor true true ] 并从这个表达式中得到错误的结果?

【问题讨论】:

    标签: lambda-calculus


    【解决方案1】:

    您忘记了 XOR 定义前面的 λ。此外,您必须将 truefalse 定义为标准 Church 布尔值:

    true = λab.a
    false = λab.b
    XOR = λab.a(b false true)b
    

    然后

        XOR true true
    --> (λab.a(b false true)b) true true
    --> true (true false true) true
    --> true false true
    --> false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-10
      • 1970-01-01
      • 2020-12-15
      • 2016-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多