将紫菜表提供的还没有被证明在数学的标准公理系统终止程序的例子ZFC但是当一个人承担非常大基数公理就终止。
介绍
经典紫菜表是独特的有限代数与底层集合和操作,其满足的身份,并且其中用于和其中。An
{1,...,2n}
*
x * (y * z)=(x * y) * (x * z)
x*1=x+1
x<2n
2n*1=1
有关经典Laver表的更多信息,请参见Patrick Dehornoy所著的《辫子和自我分配》。
挑战
1*32
在经典Laver表中计算并在找到n
with 时恰好终止的最短代码(以字节为单位)是什么?换句话说,程序仅在找到with时终止,否则它将永远运行。1*32<2n
n
1*32<2n
动机
一个秩为秩基数(也称为I3-基数)是一个非常大的水平无穷的,如果一个假设秩为秩基数的存在,那么一个人能够证明更定理如果一个不超过假设存在等级为基数的基数。如果存在一个秩为秩基数,再有就是一些经典紫菜表哪里。但是,尚无ZFC中的证明。此外,已知的是,至少其中大于(这是一个非常大的数量,因为阿克曼函数是一个快速增长的函数)。因此,任何此类程序都将持续极长的时间。An
1*32<2n
1*32<2n
n
1*32<2n
Ack(9,Ack(8,Ack(8,254)))
Ack
我想看看可以编写多短的程序,以便我们不知道该程序是否使用标准公理系统ZFC终止,但是我们确实知道该程序最终在一个更强大的公理系统(即ZFC + I3)中终止。这个问题的灵感来自斯科特 ·亚伦森(Scott Aaronson)最近的一篇文章,在这篇文章中,亚伦森和亚当·叶迪迪亚(Adam Yedidia)建造了具有8000个州以下的图灵机,以至于ZFC无法证明图灵机不会终止,但是当人们假设大的基本假设时,已知该图灵机不会终止。
经典Laver表的计算方式
当计算紫菜表通常是方便使用的事实,在代数,我们对所有的。An
2n * x=x
x
An
以下代码计算经典Laver表 An
#table(n,x,y)在A n中返回x * y 表格:=功能(n,x,y) 如果x = 2 ^ n则返回y; elif y = 1然后返回x + 1; 否则返回table(n,table(n,x,y-1),x + 1); fi; 结束;
例如,输入table(4,1,2)
将返回12
。
的代码table(n,x,y)
效率很低,并且只能在合理的时间内在Laver表中进行计算。幸运的是,计算经典Laver表的算法比上面给出的算法要快得多。A4
Ack(9,Ack(8,Ack(8,254)))
是第一张表的下界,在第一张表中第一行的时间段为 32,即哪里1*16 < 2^n
?
table(n,x,y)
,我认为设置常量和外部循环需要25到30个状态。我可以在esolangs.org上找到的唯一直接TM表示形式是esolangs.org/wiki/ScripTur,但并不是那么容易。