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

如何在lambda演算中定义正整数、负整数和有理数,lambda,lambda-calculus,church-encoding,Lambda,Lambda Calculus,Church Encoding,我在学习lambda微积分,只懂它的基本知识。我阅读了很多网站和论文,了解了逻辑(T/F/和/或)、谓词和后继操作的工作方式,但我不知道如何使用这个lambda演算完成编程中的其他事情 我想知道如何在lambda演算中使用自然数对和有理数对作为整数对来定义正整数和负整数 谢谢你的帮助。你应该看一下。例如,它将整数定义为循环计数器。给定函数f和变量x,如果: x从未映射到f,它是一个标识(相当于0) x一次映射到f,它给出fx,它给出一个循环计数(1) x映射了两个,它给出了f(fx),它是两个

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

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


谢谢你的帮助。

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

  • x
    从未映射到
    f
    ,它是一个标识(相当于0)
  • x
    一次映射到
    f
    ,它给出
    fx
    ,它给出一个循环计数(1)
  • x
    映射了两个,它给出了
    f(fx)
    ,它是两个循环(2);等等
Church编码定义成对的有符号数字。因此,仅使用函数及其组合,Church编码包含算术和逻辑