您的位置:首页 > 大数据 > 人工智能

数理逻辑3 -- 形式数论8

2018-01-11 11:09 141 查看
本节开始讨论递归函数,终于来到了哥德尔定理的山脚下。

上节讨论了函数在含等式理论中的表达性。由于PA理论S(即用一阶代数语言和S1-S9那些公理组成的一阶理论)也是含等式的理论,因此研究S中可表达的函数很重要,这些个函数对数理逻辑和计算机科学都有着深远影响。

我们先来看一些特殊的函数。

定义3.8.1:

以下函数称为初始函数(Initial Function)

I. 零函数(Zero Function):Z(x)=0,对所有x

II. 后继函数(Successor Function):N(x)=x+1,对所有x

III. 投影函数(Projection Function):Uni(x1,...,xn)=xi,对所有x1,...,xn

以下规则是从已有函数中产生新函数的规则

IV. 替代(Substitution):

f(x1,...,xn)=g(h1(x1,...,xn),...,hm(x1,...,xn)),

我们说,f是g和h替代而得。

V. 递归(Recursion):

f(x1,...,xn,0)=g(x1,..,xn)f(x1,...,xn,y+1)=h(x1,...,xn,y,f(x1,...,xn,y))

,其中我们允许n=0,这时

f(0)=k,k是一个固定的自然数f(y+1)=h(y,f(y))

我们说,f是由g和h递归而得。

VI. 受限μ−操作(Restricted μ−Operator):若函数g(x1,..,xn,y)满足,对于任意x1,...,xn,存在y使得g(x1,...,xn,y)=0,那么我们定义μy(g(x1,...,xn,y)=0)为满足g(x1,...,xn,y)=0的最小的y。这个μy就称为受限μ−操作。更通用的,对任意的关系R(x1,...,xn,y),如果存在R为真,那么可定义μy(R(x1,...,xn,y))为满足关系R的最小的y。有了受限μ−操作,我们定义函数f(x1,...,xn)=μy(g(x1,...,xn,y)),当g能成立(即存在y使得g(x1,...,xn,y)=0)。我们说,函数f由g通过受限μ−操作而得。

原始递归(Primitive Recursive):函数f是原始递归的,当且仅当,它可由初始函数经过有限次替代和递归,即规则IV和V,而得出。

递归(Recursive):函数f是递归的,当且仅当,它可由初始函数经过有限次替代、递归和受限μ−操作,即规则IV、V、VI,而得出。

有了上述定义,一个很重要的结论就是:递归函数等价于PA理论S中的可表达函数。为了证明这个结论,我们要先考察递归函数的一大堆性质,其中引出哥德尔的β−函数。

命题3.14:若g(y1,...,yk)是原始递归(或,递归)函数,x1,...,xn是不同的变量符号,并且对于1≤i≤k,zi是x1,...,xn中的某一个变量符号,那么函数f(x1,...,xn)=g(z1,...,zk)也是原始递归(或,递归)函数。

注:这个命题的意思是,如果g是递归,那么对g中的变量做增减和调换位置得出的函数也是递归的。

证明:根据定义不难得出zi=Unji(x1,...,xn),即是说zi由x1,...,xn的一个投影函数。所以f(x1,...,xn)=g(Unj1(x1,...,xn),...,Unjn(x1,...,xn)),即f由g和Unj1,...,Unjn替代而得。又因为g是原始递归(或递归)函数,所以根据定义,f也是原始递归(或递归)函数。证毕。

推论3.15.1:(三个具体例子)

a. 增加虚拟变量(Adding dummy variables):若g(x1,x3)是原始递归,则f(x1,x2,x3)=g(x1,x3)也是原始递归。

b. 改变变量次序(Permuting variables):若g(x1,x2,x3)是原始递归,则f(x1,x2,x3)=g(x3,x1,x2)也是原始递归。

c. 识别(减少)变量(Identifying variables):若g(x1,x2,x3)是原始递归,则f(x1,x2)=g(x1,x2,x1)也是原始递归。

证明:直接应用命题3.14即可,证毕。

推论3.15.2:

a. 零函数Zn(x1,...,xn)=0是原始递归。

b. 常函数Cnk(x1,...,xn)=k是原始递归,其中k是某个固定的自然数。

c. 替代规则(IV)可以被扩展为:hi不必包含所有的变量符号x1,...,xn。类似的,递归规则(V)也可被扩展为:g和h都不必包含所有的变量符号x1,...,xn,y或者f(x1,...,xn,y)

证明:a和c都直接应用命题3.14,采用推论3.15.1中增加虚拟变量的技巧即可。b需要用基于自然数k的归纳法,利用后继函数,不难证明。证毕。

接下来的命题给出了一系列的原始递归函数。

命题3.16:以下函数都是原始递归函数。

a. x+y

b. x⋅y

c. xy

d. δ(x)={x−10若x>0若x=0

,δ称为前继函数。

e. x−.y={x−y0若x≥y若x<y

f. |x−y|={x−yy−x若x≥y若x<y

g. sg(x)={01若x=0若x≠0

h. sg¯¯¯(x)={10若x=0若x≠0

i. x!

j. min(x,y)=minimum of x and y

k. min(x1,...,xn)

l. max(x,y)=maximum of x and y

m. max(x1,...,xn)

n. rm(x,y)=y除以x的余数,rm是remainder的缩写

o. qt(x,y)=y除以x的商,qt是quotient的缩写

证明:

a. 利用递归规则,即满足条件:1) x+0 = 某个原始递归函数;2)x+(y+1) = 某个原始递归函数,这个函数包含至少x,y,x+y的其中一个作为变量(利用推论3.15.2c)。 首先,x+0=x=U11(x),右边的是初始函数,所以也是原始递归函数。其次,x+(y+1)=N(x+y),其中N(x)是后继函数,所以也是递归函数。证毕。

b. 同a,采用递归规则。首先,x⋅0=0=Z(x),其中Z(x)是零函数,所以是原始递归。其次,x⋅(y+1)=(x⋅y)+y=f(y,x⋅y),其中f是上面命题3.16a中的加法函数,所以也是原始递归函数。证毕。

c. 首先,x0=1=C11(x),其中C是推论3.15.2b中的常函数,所以也是原始递归。然后,xy+1=xy⋅x=f(x,xy),其中f是上述b中的乘法函数,所以也是原始递归。证毕。

d. 首先,δ(0)=0,符合定义(即递归规则中没有x1,...,xn出现,第一步只需满足f(0)=k)。然后,δ(y+1)=y=U11(y),右边是原始递归函数。证毕。

e. 首先,x−.0=x−0=x=U11(x)。然后,考虑x−.(y+1)。若x≥y+1,易得x−.(y+1)=δ(x−.y),右边根据上述d可知是原始递归。若x<y+1,则x−.(y+1)=0=Z(x),右边也还是个原始递归。证毕(这里我绝对没证错)。

f. |x−y|=(x−.y)+(y−.x),根据命题3.16a、d可知它们都是原始递归,再用替代规则即可。证毕。

g. sg(x)=x−.δ(x)。证毕。

h. sg¯¯¯(x)=1−.δ(x)。证毕。

i. 首先,0!=1。然后,(y+1)!=y!⋅(y+1),而乘法和加法都是原始递归。证毕。

j. min(x,y)=x−.(x−.y)。证毕。

k. 归纳法。假设min(x1,...,xn)原始递归,则min(x1,...,xn,xn+1)=min(min(x1,...,xn),xn+1),利用j和替代规则即可。证毕。

l. max(x,y)=y+(x−.y)。证毕。

m. 同k的方法。证毕。

n. 首先,rm(x,0)=0。然后,rm(x,y+1)=N(rm(x,y))⋅sg(|x−N(rm(x,y))|)。证毕。

o. 首先,qt(x,0)=0。然后,qt(x,y+1)=qt(x,y)+sg¯¯¯(|x−N(rm(x,y))|)。证毕。

命题3.16给出了基础的递归函数,往下还有更复杂的。

定义:(有限求和/乘积,Bounded Sums/Products)

a. ∑y<zf(x1,...,xn,y)={0f(x1,...,xn,0)+⋯+f(x1,...,xn,z−1)若z=0若z>0

b. ∑y≤zf(x1,...,xn,y)=∑y<z+1f(x1,...,xn,y)

c. ∏y<zf(x1,...,xn,y)={1f(x1,...,xn,0)…f(x1,...,xn,z−1)若z=0若z>0

d. ∏y≤zf(x1,...,xn,y)=∏y<z+1f(x1,...,xn,y)

e. (双向有界求和)

∑u<y<vf(x1,...,xn,y)=f(x1,...,xn,u+1)+⋯+f(x1,...,xn,v−1)=∑y<δ(v−.u)f(x1,...,xn,y)

命题3.17:若f(x1,...,xn,y)是原始递归(或,递归),则定义3.8.2中所有的函数都是原始递归(或,递归)。

证明:

a. 记g(x1,...,xn,z)=∑y<zf(x1,...,xn,y),可证出g是由递归规则而得。因为,首先g(x1,...,xn,0)=0=Z(x1,...,x0),由推论3.15.2a可知其为原始递归。然后,g(x1,...,xn,z+1)=g(x1,...,xn,z)+f(x1,...,xn,z),因为根据假设,f(x1,...,xn,z)是原始递归,所以递归规则第二步用到的全部函数都是原始递归函数。所以由此递归规则得出的g(x1,...,xn,z)也是原始递归(或,递归)。证毕。

b. 记h(x1,...,xn,z)=∑y≤zf(x1,...,xn,y)。不难看出,h(x1,...,xn,z)=g(x1,...,xn,z+1),即通过g采用替代规则得出h,而且z+1也是原始递归函数。证毕。

c. 同a的方法。证毕。

d. 同b的方法。证毕。

e. 记h(x1,...,xn,u,v)=∑u<y<zf(x1,...,xn,y),记g(x1,...,xn,z)=∑y<zf(x1,...,xn,z)。根据定义可得h(x1,...,xn,u,v)=g(x1,...,xn,δ(v−.u)),而由命题3.16d、e可知它们都是原始递归函数,所以h是由g应用替代规则而得(这里省略了投影函数U的说明,还有注意下不难证明δ(v−.u)也是原始递归函数)。证毕。

太长了,下节继续。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息