打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

序数坍缩函数

来自Googology Wiki
Z留言 | 贡献2025年7月7日 (一) 10:44的版本 (Z移动页面OCF序数坍缩函数

序数塌缩函数(Ordinal Collapsing Function,OCF)是一种序数函数。它们的特点是利用足够大的序数(通常是非递归序数)来输出递归序数。事实上,OCF有很多不同的版本。本词条着力于介绍BO之前的BOCF(Buchholz's OCF)和MOCF(Madore's OCF)。

BOCF

前排提醒:对严谨数学定义不感冒或看不懂的读者可以直接跳到直观理解与操作规则

定义

首先我们给出BOCF只引入Ω的定义:

  1. C0(x)={0,Ω}
  2. Cn+1(x)=Cn(x){α+β,ψ(γ)|α,β,γCn(x),γ<x}
  3. C(x)=n<ωCn(x)
  4. ψ(x)=min{α<Ω|α∉C(x)}

其中的Ω要求是一个足够大的序数。以往的资料一般使用第一个不可数序数ω1来作为它。但我们发现,第一个非递归序数ω1CK已经可以满足我们的需求。因此,目前提到Ω,默认指的是ω1CK

这四条规则很是抽象,让我们一条一条来看。

规则1:C0(x)={0,Ω}。对于任意的x , C0(x)是同一个集合。

规则2,这个规则递归定义了Cn+1(x),它是Cn(x)再加上Cn(x)中的元素通过加法和ψ函数能产生的所有元素。这里要求ψ函数自变量小于x,因为ψ(x)是需要C(x)来定义的。

规则3,C(x)是对所有的Cn(x)取并集得到的集合。

规则4,ψ(x)就是所有小于Ω的序数中,不属于C(x)的最小序数。

ε0之前

以下是一些运算实例:

C0(0)={0,Ω}

C1(0)={0,Ω,Ω×2}

C2(0)={0,Ω,Ω×2,Ω×3,Ω×4}

……

C(0)={0,Ω,},省略号省掉了大于Ω的序数

因此ψ(0)是最小的小于Ω的不在C(0)里的序数,即1.

下一个例子是ψ(2).假定首先你已经知道了ψ(1)=ω(可以自己验证),我们要开始计算ψ(2),还是不展示大于Ω的序数

C0(2)={0,Ω}

C1(2)={0,ψ(0)=1,Ω,}

C2(2)包含了1,2和ψ(1),即ω。

C3(2)包含了1,2,3,4,ω,ω+1,ω+2,ω×2

以此类推,最后能得到C(2)中包含了全体小于ω2的序数和一大堆大于Ω的序数。因此根据定义,ψ(2)=ω2

ψ函数内是极限序数并不影响定义和计算。

你有没有觉得一步一步按定义走太过于繁琐?下面给出它的2个性质:

  1. ψ(m+1)=ψ(m)×ω,m是任意序数
  2. ψ(λ)=sup{ψ(κ)|κ<λ},α是任意非0极限序数

根据这个性质,我们可以轻松的得到:

ψ(ω)=ωω=ψ(ψ(1))

ψ(ω+1)=ωω+1=ψ(ψ(1)+1)

ψ(ω×2)=ωω×2=ψ(ψ(1)×2)

ψ(ω2)=ωω2=ψ(ψ(2))

ψ(ωω)=ωωω=ψ(ψ(ψ(1)))

ψ(ωωω)=ωωωω=ψ(ψ(ψ(ψ(1))))

……

到这里和康托范式veblen函数φ(x)都是一致的。然而,在ε0开始,OCF将与它们分道扬镳。

ε0与平台期

ε0=αψ(α)的第一个不动点,这里没有问题。问题出在ψ(ε0+1)上。

注意到C0(ε0+1)={0,Ω},C1(ε0+1)中小于Ω的最大元素是ψ(0),C2(ε0+1)中小于Ω的最大元素是ψ(ψ(0)),C2(ε0+1)中小于Ω的最大元素是ψ(ψ(ψ(0)))……

因此,ψ(ε0)始终无法出现在这里面。这直接导致了C(ε0+1)中,小于Ω的最小的不在里面的依然是ψ(ε0)。相当于“卡住了”。这意味着对于所有的ε0αΩ,都有ψ(α)=ψ(ε0).这就像一个巨大的平台,因此称为平台期

直到ψ(Ω+1)才迎来了转机。因为Ω也在C0(x)里面,因此ψ(Ω)终于可以被放进C1(Ω+1)里面了。结果是ψ(Ω+1)=ψ(Ω)×ω.后面再一次向上增长,直到αψ(Ω+α)的不动点。从这里到ψ(Ω+Ω)又是一段平台期。直到ψ(Ω+Ω+1)再次恢复增长。

这样的定义可以一直运行到ψ(Ω×ω),再往后走不下去了。可是它相比其他序数记号,如veblen函数依然是孱弱的。为了继续前进,我们需要引入更多的非递归序数。

更多的非递归序数

下面是引入更多非递归序数的BOCF定义:

  1. C0v(x)={α|α<Ωv}{Ωβ|v<β<ω}
  2. Cn+1v(x)={α+β,ψδ(γ)|α,β,γCnv(x),γ<x,δ<ω}
  3. Cv(x)=n<ωCnv(x)
  4. ψv(x)=min{α<Ωv+1|αCv(x)}

ψ函数即ψ0函数。

可以看到,根据定义,有C01(0)={α,Ω2|α<Ω},随后Cn1(0)是根据C01(0)={α,Ω2|α<Ω}中元素进行加法所得到的所有东西,注意到它们内部依然不存在ΩΩ2的序数。因此,ψ1(0)=Ω.对于ψ1(1),因为它可以把ψ1(0)塞进C里,因此,最后有ψ1(1)=Ω×ω.之后的内容是顺理成章的,类似ψ(0)ψ(ψ(ψ()))的过程,有ψ1(ψ1(ψ1()))=ΩΩΩ.我们暂时记ψ1(1,0)=αψ1(α)的不动点。可以验证,对于ψ1函数来说,这里依然存在ψ1(1,0)<α<Ω2的平台期。后面的一切都是顺理成章的。直到任意的ψn,都是一样的。

但有一点需要注意,对于ψ函数来说,ψ(ψ1(Ω2))并没有打破从ψ(ψ1(1,0))开始的平台期,这个平台期继续向前,直到ψ(Ω2)才结束。这一现象称为藏层

BOCF的ψ(Ωω)=sup{ψ(Ω),ψ(Ω2),ψ(Ω3,},这一序数有一个名字是BO(Buchholz's Ordinal ),在googology中是一个非常重要的序数。

直观理解与操作规则

让我们从ψ(0)=1开始。

BOCF有这样的性质:

ψ(m+1)=ψ(m)×ω,m是任意序数

因此,可以得到ψ(1)=ω。得到之后,你对ψ(1)之前的序数已经很清楚了,于是,可以把这些序数也都放进ψ函数内部,于是,你最大能得到ψ(ψ(1))=ψ(ω)=ωω.得到它之后,你又对它之前的序数很清楚了,于是又可以把它们也放进ψ函数内部,最大能得到ψ(ψ(ψ(1)))=ωωω……以此类推,你可以得到嵌套任意多层的ψ(ψ(ψ())).

这个时候,我们的新朋友Ω出场了。我们令ψ(Ω)=ψ(ψ(ψ())),于是我们可以继续:ψ(Ω+1)=ψ(Ω)×ω.现在你会发现,它内部既然可以加一,那是不是也可以加上更大的序数呢?答案是肯定的。你先前已经得到了ψ(Ω),那么对它之前的序数已经清楚了。于是只需要重走一遍1到ψ(Ω)的路,就可以得到ψ(Ω+ψ(Ω)).和前面类似的,得到ψ(Ω+ψ(Ω))后,也就可以理解ψ(Ω+ψ(Ω+ψ(Ω))),毕竟只是在ψ内重走一遍先前走过的路。上面的路又可以一直走下去,直到ψ(Ω+ψ(Ω+ψ(Ω+))).

于是,Ω再次登场,它让ψ(Ω+ψ(Ω+ψ(Ω+)))=ψ(Ω+Ω)=ψ(Ω×2).我们又可以按先前的思路,首先得到ψ(Ω×2+1)=ψ(Ω×2)×ω,然后重走一遍1到ψ(Ω×2)的路,就得到ψ(Ω×2+ψ(Ω×2));再重走一遍ψ(Ω×2)ψ(Ω×2+ψ(Ω×2))的路,就得到ψ(Ω×2+ψ(Ω×2+ψ(Ω×2))),再以此类推,得到ψ(Ω×2+ψ(Ω×2+ψ(Ω×2+)))后再把它变成ψ(Ω×3),然后再……

说到这里,读者应该对Ω有一定的认识了。它的“能力”是让包着它的一层ψ函数连同内部的其他内容一起嵌套n层。如ψ(Ω×3)=ψ(Ω×2+Ω)=ψ(Ω×2+ψ(Ω×2+ψ(Ω×2+))).细心的读者可能注意到,这其实是不动点的体现。没错,OCF中的Ω可以说是不动点的“化身”,只要它出现,就一定是代表了一个不动点。事实上,前文只展示了加法。Ω对于乘法和乘方所做的事情和加法是如出一辙的,以下是例子:

得到ψ(Ω×ω),理解加一个Ω起到什么作用之后,只需要重走一边ωψ(Ω)的路,就能得到ψ(Ω×ψ(Ω)),然后再重走一遍ψ(Ω)ψ(Ω×ψ(Ω))的路,就能得到ψ(Ω×ψ(Ω×ψ(Ω)))……最后得到ψ(Ω2)=ψ(Ω×Ω)=ψ(Ω×ψ(Ω×ψ(Ω×))).


得到ψ(Ω3),理解加一个Ω2起到什么作用之后,只需要重走一边1到ψ(Ω3)的路,就能从ψ(Ω3+Ω2×1)开始得到ψ(Ω3+Ω2×ψ(Ω3)),然后再重走一遍ψ(Ω3)ψ(Ω3+Ω2×ψ(Ω3))的路,就能得到ψ(Ω3+Ω2×ψ(Ω3+Ω2×ψ(Ω3)))……最后得到ψ(Ω3×2)=ψ(Ω3+Ω2×Ω)=ψ(Ω3+Ω2×ψ(Ω3+Ω2×ψ(Ω3+Ω2×))).

得到ψ(ΩΩΩ)ψ(ΩΩΩ+Ω1),只需要重走一边1到ψ(ΩΩΩ)的路,就能从ψ(ΩΩΩ+Ω1)开始得到ψ(ΩΩΩ+Ωψ(ΩΩΩ)),然后再重走一遍ψ(ΩΩΩ)ψ(ΩΩΩ+Ωψ(ΩΩΩ))路,就能得到ψ(ΩΩΩ+Ωψ(ΩΩΩ+Ωψ(ΩΩΩ)))……最后得到ψ(ΩΩΩ×2)=ψ(ΩΩΩ+ΩΩ)=ψ(ΩΩΩ+Ωψ(ΩΩΩ+Ωψ(ΩΩΩ+Ω))).

以下是BHO(即ψ(ΩΩΩ))之前的BOCF的操作规则:

ψ(α1)+ψ(α2)++ψ(αn1)+ψ(0)=ψ(α1)+ψ(α2)++ψ(αn1)+1

(ψ(α1)+ψ(α2)++ψ(αn1)+ψ(αn))[m]=ψ(α1)+ψ(α2)++ψ(αn1)+ψ(αm)[m]

ψ(X+1)[m]=ψ(X)×m

ψ(X+ψ(Y))[m]=ψ(X+ψ(Y)[m])

这四条和康托范式的规则是一样的,主要是要找准表达式最右侧的结构。如果最右侧是外面的1那就是后继,最右侧是ψ里面的1那就是乘ω。最右侧如果是ψ(X),则先操作它。

但如果最右侧是Ω呢?很简单,只需要找到包着它的那一层ψ,然后在原位嵌套即可。即:

ψ(ZΩ)=ψ(Zψ(Zψ(Z))),其中~是+或者×或者^。注意这里的Z并不一定是一个序数,它可以只是一个算式。比如说ψ(ΩΩΩ+ΩΩ)对应的Z是ψ(ΩΩΩ+ΩΩ)标红的部分。

有的时候最右侧的Ω被藏起来,你需要自己去挖掘出来。比方说ψ(Ω3×2),你需要把它写成ψ(Ω3+Ω2×Ω)这种形式。

tips:BOCF中实际上并不存在乘法和乘方,因此上文的大部分式子严格来说是不标准的。但是在googology绝大多种情况下,为了方便和清晰性,我们都会用这种“部分”引入乘法和乘方的BOCF不标准式。

BHO之上,就需要引入更多的非递归序数Ω2,Ω3,Ω4,.对于他们来说,有ψ1函数,ψ2函数,ψ3函数……分别对应,Ωm+1ψm函数之间的关系与Ω和ψ函数的关系是一模一样的。(ψ函数即ψ0函数,ΩΩ1)

对于ψm函数,有如下规则:

ψm(0)=Ωm

ψm(X+1)=ψm(X)×ω

ψm(YΩm+1)=ψm(Yψm(Yψm(Y)))

不难发现和ψ函数的操作规则几乎一模一样

比如说,有ψ1(0)=Ωψ1(1)=Ω×ω,ψ1(ψ1(0))=Ω2,ψ1(ψ1(0)×2)=Ω3,ψ1(ψ1(ψ1(0)))=ΩΩ等等。最后会得到ψ1(Ω2)=ψ1(ψ1(ψ1()))=ΩΩΩ.借助ψ1函数,我们确实突破了前面BHO 的界限。但事情还没这么简单。

因为OCF存在一个“藏层”现象。即,ψ(ψ1(Ω2))这样的式子是不标准的,它等价于ψ(Ω2).相当于那个ψ1的层被“藏起来”了,因此称为藏层。

根据前文所说,Ωn是一定要找ψn1函数去嵌套的。那么,面对藏层,我们要如何操作呢?

答案是,找到包着Ωn的最近的ψm函数满足m<n,我们视作ψn1函数被藏在了这个ψm内部。随后进行嵌套,但要在嵌套过程中把内部的ψm改成ψn1,即:

ψm(YΩn)=ψm(Yψn1(Yψn1(Y)))

举例,考虑ψ(Ω3+ψ2(Ω3+Ω2)),最右端是Ω2,它要找一个最近的ψn函数满足n<2,是最外层的ψ函数。于是我们按照操作规则得到展开式为ψ(Ω3+ψ2(Ω3+ψ1(Ω3+ψ2(Ω3+ψ1(Ω3+ψ2(Ω3+)))))).

BO是ψ(Ωω),它的基本列{ψ(0),ψ(Ω),ψ(Ω2),ψ(Ω3),ψ(Ω4),}.从这条基本列中的元素开始按照操作规则展开所得到的式子就是标准的,如果得不到,则是不标准的。

以上就是BO前的BOCF的直观理解与操作规则。

MOCF

下面是MOCF的数学定义:

  1. C0(x)={0,1,ω,Ω}
  2. Cn+1(x)={α+β,α×β,αβ,ψ(γ)|α,β,γCn(x)|γ<x}
  3. C(x)=n<ωCn(x)
  4. ψ(x)=min{α<Ω|αC(x)}

可以发现,MOCF和BOCF不同的点在于它把加法、乘法和乘方都放进了C(x)中,而BOCF只有加法。因此,MOCF的ψ(0)=ε0,并且有ψ(X+1)=ψ(X)ψ(X)ψ(X)。在出现Ω的地方,两种OCF是一样的,如平台期等概念,二者也是一样的。

下面是引入更多非递归序数的MOCF定义:

  1. C0v(x)={α|α<Ωv}{Ωβ|β<ω}
  2. Cn+1v(x)={α+β,α×β,αβ,ψδ(γ)|α,β,γCnv(x),γ<x,δ<ω}
  3. Cv(x)=n<ωCnv(x)
  4. ψv(x)=min{α<Ωv+1|αCv(x)}

可以看到和BOCF的定义大差不差,唯一的区别是乘法和乘方的引入。因而操作规则无太大差异,除了ψv(X+1)=ψv(X)ψv(X)ψv(X).此处不再赘述。

MOCF的ψ(Ωω)也是BO。