笔记

第11章:计算的概念

第12节:图灵机和其他系统的普遍性


选择符

在1910年代广为人知后南德可用于构建基本逻辑中的任何表达式(参见第页1173)莫西·施芬克尔(Moses Schönfinkel)1920年引入了组合子,其思想是提供一种类似的方法来构建函数,并消除对变量的任何提及,尤其是在谓词逻辑中(参见第页898)。给定组合子规则

克鲁斯={s[x][y][z]x[z][y[z]],k[x_][y]x}(x})

设置是任何功能(f)将被写成k个-Schönfinkel分别称之为“融合”和“恒常性”,然后是将函数应用于参数的结果x个将由f[x]//。克鲁斯.(例如,多个参数被处理为f[x][y][z]后来被称为“咖喱”。)组合词的一个非常简单的例子是id=秒[k][k],对应于标识函数,因为id[x]//。克鲁斯产量x个对于任何x个.(一般情况下,任何形式的组合词秒[k][_])组合词的另一个例子是b=s[k[s]][k],其中b[x][y][z]//.克鲁斯产量x[y[z]].

随着20世纪30年代早期lambda微积分的发展,很明显,给定任何表达式快递例如x[y[x][z]]带有变量列表变量例如{x,y,z}人们总是可以找到与lambda函数等价的组合子,例如函数[x,函数[y,函数[z,x[y[x][z]]]]事实证明,只需使用

ToC[expr_,vars_]:=折叠[rm,expr,反向[vars]]

rm[v_,v_]=id

rm[f[v],v]/;自由Q[f,v]=f

rm[h,v]/;自由Q[h,v]=k[h]

rm[f[g_],v_]:=s[rm[f,v]][rm[g,v]]

因此,这表明任何lambda函数实际上都可以用组合子来编写,而不必显式地引入任何类似于变量的东西。根据lambda函数可以表示递归函数的结果,递归函数又可以表示图灵机(参见以上注释)自20世纪30年代中期以来,人们就知道组合子是通用的。页面上的规则110组合符713然而,它提供了更直接的证据。

使用组合词的常用方法包括从中构建算术结构。这通常从使用所谓的教会数字开始(基于阿隆佐·邱奇关于lambda演算),并定义一个组合子e(电子)n个对应于一个整数n个如果e(电子)n个[a] [b]//.克鲁斯产量嵌套[a,b,n].(第页上的103因此可以被视为教会数字2,因为e【a】【b】【a】【b】.)这可以通过采取以下措施来实现e(电子)n个成为嵌套[inc,zero,n]哪里

零=s[k]

inc=秒[s[k[s]][k]]

通过此设置,您可以找到

加=s[k[s]][s[k[s[k[s]]][s[k[k]]]

次数=s[k[s]][k]

功率=s[k[s[s[k][k]]][k]

(注意:功率[x][y]//.crulesy[x]年,通过类比x[x[y]]对应于x个2x[y[x]]x个x年x[y][x]x个x个等等。)

另一种方法是将整数直接表示为组合符表达式。例如,可以n个由以下人员代表嵌套[s,k,n]然后可以转换任何教会数字x个通过应用秒[s[s[k][k]][k[s]][k[k]]另一种方法是,使用所有教会数字的结果x个嵌套[s,k,n][x][y]也是一个教会数字,可以通过注意到它与嵌套[s,k,n-1][y][x[y]],其中如上所述x[y]功率[y][x]从这里可以看出嵌套[s,k,n]可以转换为教堂数字n个通过应用

s[s[s[秒[s[k][k]][k[s[s[k[s]][k]][s[k][k]]]][
k[s[s[k[s]][k]][s[s[k[s]][k]][s[k][k]]][s-[s[k[s]][
s[s[k[s]][s[k[s[s[s[s[s[s[k][k]][k[k]][k[s[
k[s]][k]][s[k][k]]]][k[s[s[k[s][k]][s[s[k[s]][k]][s[
k] ]]]][k[s[s[[s[k][k]][k[s[s[k[s]][s[s[s[k][k]]][秒[
k[k]][s[k[s[s[k[s]][k]]][s[s[k][k]][k[k]]]][s[k[k]][s[
s[k][k]][k[k]]]][k[s[s[s[k][k]][k[s[k]]]][k[s[k]]]][
k[s[k]]]]][s[k[k]][s[s[s[k][k]][k[s[s[k[s]][k][s[
k] ]]][k[s[s[k[s]][k]][s[s[k[s]][k]][s[k][k]]]]]][
k[s[k[k]][s[s[k[s]][k]]]]][k[s[k][k]]]][k[s[k]]]

使用这个可以从Church数字组合表达式的相应结果中找到权力-尺寸分别为377、378和382。似乎可以肯定,简单得多的组合词表达式也会起作用,但搜索表明,如果股份有限公司尺寸小于4,大小必须至少为8。(基于其他整数表示的搜索也没有产生太多结果n个由代表嵌套[k,s[k][k],n]然而,秒[s[s]][k]][k用作递减函数,并且n个由代表嵌套[s[s],s[k],n]秒[s][k][k[k[s]]]起到双重作用。



图像源笔记本:

斯蒂芬·沃尔夫拉姆(Stephen Wolfram):一种新的科学[引用]