Recursion 基元递归的定义是否依赖于比较函数和先例函数?
原语递归定义如下:Recursion 基元递归的定义是否依赖于比较函数和先例函数?,recursion,Recursion,原语递归定义如下: Given functions h,mapping from N+2 integers to 1 integer; and function g, mapping from N integers to 1 integer. we can define a new function f recursively. f(0,y)=g(y) f(x+1,y)=h(x,f(x,y),y) 如果我们有一台机器来执行函数f,那么机器是否应该知道输入参数是否为0?这是否意味着需要比较功能
Given functions h,mapping from N+2 integers to 1 integer; and function g, mapping from N integers
to 1 integer. we can define a new function f recursively.
f(0,y)=g(y)
f(x+1,y)=h(x,f(x,y),y)
如果我们有一台机器来执行函数f,那么机器是否应该知道输入参数是否为0?这是否意味着需要比较功能
如果参数不是0,机器应该知道如何从(x+1)中获取x吗?这是否意味着需要先例功能
然而,从这一点来看,比较函数和先例函数都是使用原始递归定义的。为什么会发生这种情况,我是否遗漏了一些要点?您提供的引用是一个正式的定义。它没有提到实现或运行实现的机器。那么,如果没有前置函数或减法函数,我们怎么能从x+1得到x呢?当我们写f(x+1,y)=h(x,f(x,y),y时,我们是隐式使用了先例还是减法?是的,这个定义建立在,包括后继函数的存在。对于除零以外的每个数字,可以基于后继函数正式定义前置操作。