1

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

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

谢谢您的帮助。

4

1 回答 1

-1

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

  • x永远不会映射到f,它是一个标识(相当于 0)
  • x映射一次到f,给出f x,它给出一个循环计数 (1)
  • x映射两个,得到f (f x),它是两个循环(2);等等。

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

于 2017-10-16T07:03:27.707 回答