如何在lambda演算中定义正负整数和有理数



我正在研究lambda微积分,只有基本的了解。我阅读了许多网站和论文,并了解逻辑(T/F/和/或)、谓词和后继者的工作方式,但我不知道如何使用这个 lambda 演算在编程中完成其他事情。

我想知道如何通过在 lambda 演算中使用自然数和有理数对作为整数对来定义正负整数。

谢谢你的帮助。

你应该看看教会的编码。例如,它将整数定义为循环计数器。给定一个函数f和一个变量x,如果:

  • x从不映射到f,它是一个恒等式(相当于0)
  • x映射一次到f,给出f x,它给出一个循环计数(1)
  • x映射了两个,这给出了f (f x),它是两个循环(2);依此类推。

Church 编码以对的形式定义有符号数字。因此,仅使用函数及其组合,教会编码包括算术和逻辑。

最新更新