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

BAN

来自Googology Wiki

Bird 数组表示法(Bird's Array Notation,BAN)是由 Chris Bird 发明的一种大数记号。它是 BEAF 的扩展,无论是在历史上还是在定义上都类似于 BEAF,但与 BEAF 略有不同,使其更加“简单”。

定义

线性数阵记号(Bird’s Linear Array Notation)

线性数阵记号有 5 条操作规则:

  • Rule 1 (仅 1 或 2 项): {a} = a, {a, b} = a^b.
  • Rule 2 (末项为 1): {a, b, c, ... , z, 1} = {a, b, c, ... , z}. (删去尾随的 1)
  • Rule 3 (第二项为 1): {a, 1, c, d, ... , z} = a.
  • Rule 4 (第三项为 1): {a, b, 1, ... , 1, d, e, ... , z} = {a, a, a, ... , {a, b-1, 1, ... , 1, d, e, ... , z}, d-1, e, ... , z}.

1 之间的“...”表示一个连续的 1 字符串——可以有任意数量的 1,从一个 1(单独的第三项)到倒数第二项的一串 1——这个连续字符串的最后一个 1(不一定是数阵中的最后一个 1)被替换为整个数阵的副本,且其第二项减 1,而此前的所有条目变成一个连续的 a 字符串。这是数组中第四或后续项数量减少(尽管是减 1)的唯一方式;如果从第三项开始,连续字符串中有 n 个 1,则第 n+3 项(用 d 表示)减 1。

  • Rule 5 (规则 1-4 不适用): {a, b, c, d, ... , z} = {a, {a, b-1, c, d, ... , z}, c-1, d, ... , z}.

第二项被整个数组的副本替换,其中第二项的值减少 1,以便将第三个项减少 1。

按顺序考虑规则是有帮助的;如果适用,首先使用规则 1,如果不适用,则使用规则 2,以此类推。如果规则 1-4 均不适用,则规则 5 适用。只有在将花括号内的数组求值为单个数字后,才能删除花括号。

多维数阵记号(Bird’s Multi-Dimensional Array Notation)

多维数阵记号有 7 条操作规则:

  • Rule 1 (仅 1 或 2 项,均在第一个 1-空间): {a} = a, {a, b} = a^b.
  • Rule 2 (数组的任何 1 维或更高维空间中的最后一项是 1): {#[a]1}={#}. 当 a<b 时,{#[a]1[b]#*}={#[b]#*} (删除 (b-1)-空间的尾随的 1)
  • Rule 3 (第二项是 1 或第一个 1-空间只有 1 项): {a, 1 #} = a. 当 b≥2 时,{a [b] #} = a.
  • Rule 4 (第一个 1-空间只有 2 项,下一个非 1 项 (c) 不是它所在的 1-空间的第一项): {a, b [n1] 1 [n2] 1 [n3] ... 1 [nk] 1, c #} = {a ‹n1-1› b [n1] a ‹n2-1› b [n2] ... a ‹nk-1› b [nk] R, c-1 #}. 其中 R = {a, b-1 [n1] 1 [n2] 1 [n3] ... 1 [nk] 1, c #}.

n1≥2(因为 [n1] 紧接在第一个 1-空间之后),n1≥n2≥...≥nk(根据规则 2)。对应于 1 的完整字符串的最后一个 1 的项被整个数阵的副本替换,其第二项被减少 1。对于每个 1≤i≤k 的情况,[ni] 分隔符之前的 1(i=1 时为 a,b)被 a 的 (ni-1) 维 b^(ni-1) 串所取代。

  • Rule 5 (第一个 1-空间只有 2 项,下一个非 1 项 (c) 是它所在的 1-空间的第一项): {a, b [n1] 1 [n2] 1 [n3] ... 1 [nk] c #} = {a ‹n1-1› b [n1] a ‹n2-1› b [n2] ... a ‹nk-1› b [nk] c-1 #}.

nk≥2(因为 [nk] 紧接在 1-空间的开始之前),n1≥n2≥...≥nk≥2(根据规则 2)。与规则 4 类似,除了在 1 的完整字符串中的 1 后面没有逗号。未中断字符串的最后一个 1 被 a 的 (nk-1) 维 b^(nk-1) 字符串替换。

超维数阵记号(Bird’s Hyper-Dimensional Array Notation)

嵌套数阵记号(Bird’s Nested Array Notation)

Googology Wiki 定义

“简单”数阵

线性和多维数阵

  • 规则 1. 若有一或两个元素,则有 {a}=a,{a,b}=ab
  • 规则 2. 若最后一个元素为 1,则可将其去掉:{#1}={#}
  • 规则 3. 若第二个元素为 1,则该数阵的值即为第一个元素:{a,1#}=a
  • 规则 4. 若第三个元素为 1:

{a,b,1,1,,1,1,c#}={a,a,a,a,,a,{a,b1,1,1,,1,1,c#},c1#}

  • 规则 5. 其他情况:

{a,b,c#}={a,{a,b1,c#},c1#}

对于多维数阵,Bird 使用 acb,它与 BEAF 的 bc&a 等价。这些字符串写在引号内,且有其特定的规则:

  • 规则 A1. 若 c=0,则有 a0b=a
  • 规则 A2. 若 b=1,则有 ac1=a
  • 规则 A3. 其他情况,acb=ac1b[c]ac(b1)

主要规则如下:

  • 规则 M1. 若只有两个元素,则 {a,b}=ab
  • 规则 M2. 若 m<n,则有 {#[m]1[n]#*}={#[n]#*}(另外,{#[a]1}={#}
  • 规则 M3. 若第二个元素为 1,则有 {a,1#}=a
  • 规则 M4. 若 m12m1mx,则有

{a,b[m1]1[m2]1[mx]c#}={am11b[m1]am21b[m2]amx1b[mx](c1)#}

  • 规则 M5. 若 m1mx2,则有

{a,b[m1]1[m2]1[mx]1,c#}={am11b[m1]am21b[m2]amx1b[mx]{a,b1[m1]1[m2]1[mx]1,c#},c1#}

  • 规则 M6. 若规则 M1-M5 均不适用,则 {a,b,c#}={a,{a,b1,c#},c1#}

Bird 使用 [m] 作为维度分隔符;在 BEAF 中,它相当于一个 (m1)

超维及嵌套数阵

接下来,括号分隔符变为数阵(如 [1,1,2])。除将 [mn] 替换为 [mn#] 外,规则 M1 至 M6 保持不变。

尖括号规则需要一些修改。规则 A3 变为 A4,并新增规则 A3:

  • 规则 A3. 若尖括号中的第一个元素为零,且其后存在非零元素:

a0,1,1,,1,1,c#b=ab,b,b,,b,b,c1#b

此规则在视觉上与规则 M4 相似。

下一步是允许在数阵内出现字符串,从而定义嵌套数阵表示法。规则 A3 变为 A4,规则 A4 变为 A5。然后我们新增一条 A3 规则并对 A4 进行推广:

  • 规则 A3. 若 [A]<[B],则有 a#[A]1[B]#*b=a#[B]#*b
  • 规则 A4. 若尖括号中的第一个元素为零,且其后存在非零元素:

a0[x1#1]1[x2#2]1[xn#n]c#b=abx11#1b[x1#1]bx21#2b[x2#2]bxn1#nb[xn#n]c1#b

An 和 B 为数阵,且除第一个元素减一外,Ai-1 与 Ai 完全相同。

两个分隔符的排序算法

对于规则 A3 和 M2,确定哪个分隔符的层级更高十分重要。首先,将相互嵌套的数阵数量定义为数阵的嵌套层级。我们可以用 Lev(A) 表示。例如,若 A = {3,3[1[1[2]2]2]2},则 Lev(A) = 3,因为 [2] 嵌套在 [1[2]2] 中,而[1[2]2]又嵌套在 [1[1[2]2]2] 中,最后 [1[1[2]2]2] 嵌套在主数阵中。非正式地说,Lev(A) 是我们需要说“嵌套”的次数,才能从最内层数阵说到主数阵。另一个函数 Num(H,A) 定义为数阵 A 中分隔符 [H] 的数量,例如,若 A = {3,3[1[2]1[2]1[2]2]2},则 Num(2,A) = 3。

假设我们想要确定哪个分隔符的层级更高,[A] 还是 [B]。正式描述如下:

  1. 为进一步说明,设 [A1]=[A],[A2]=[A1],[B1]=[B],[B2]=[B1]。
  2. 若 Lev(A)>Lev(B),则得出 [A]>[B];若 Lev(A)<Lev(B),则 [A]<[B]。若 Lev(A)=Lev(B)>0,则进入步骤 3,否则进入步骤 6。
  3. 设 [A*] 和 [B*] 分别为数阵 A2 和 B2 中的最高层级分隔符。若 [A*]>[B*],则 [A]>[B];若 [A*]<[B*],则 [A]<[B];否则取 [H]=[A*]=[B*] 并进入步骤 4。
  4. 若 Num(H,A2)>Num(H,B2),则 [A]>[B];若 Num(A)>Num(B),若 Num(H,A2)<Num(H,B2),则 [A]<[B];否则进入步骤 5。
  5. 在字符串 A2 和 B2 中,删除 [H] 分隔符并移除其之前的所有元素。
  6. 根据上述所有规则,字符串 A2 和 B2 必须为 [a] 和 [b] 的形式,其中 a 和 b 为单个数字。因此,若 a<b,则 [A]<[B];若 a>b,则 [A]>[B];否则进入步骤 7。
  7. 在字符串 A1 和 B1 中删除最后一个元素及其前的分隔符。若 A1 和 B1 为空,则得出 [A]=[B];否则返回步骤 2。

超嵌套数阵:反斜杠数阵

为了突破嵌套数组表示法(Nested Array Notation)的局限,Bird 定义了一个特殊分隔符 [1\c],具体定义如下:

  • {a,b[1c#]2}={a0c#b}={abbbbbc1#bc1#bc1#bc1#bc1#b}(从中心向右有 b 个 b)
  • {a,b[A1]2}={a,b[A]2}(若 A 为任意数阵)

这种表示法使我们能够构造出在反斜杠前带有数组的表达式,如 [1[2]2\2] 或 [1[1\2]2\2]。若将反斜杠置于基础层级(即不至少用一对方括号括起来),如{3,3\2},则属于非法形式。

Bird 进一步扩展了该表示法,使其不仅能处理单一反斜杠的数组,还能处理包含多个反斜杠甚至反斜杠数组的情况。他用 [A]\ 来表示反斜杠周围的数阵 A。处理反斜杠数组时,有 3 条新规则:

  • 规则 B1. 反斜杠维度层级为 0 或 1:
    • a0b=a
    • a1b=aaaa(b 个 a)
  • 规则 B2. 反斜杠尖括号中的首项不为 0:

ac#b=ac1#b[c#]ac1#b[c#]ac1#b(b 个 ac1#b

  • 规则 B3. 首个非零项位于单个反斜杠之前:
    • a0[A1]1[A2]1[An]1c#b=abA1b[A1]bA2b[A2]bAnb[An]Rbc1#b
    • Rn=bbA1b[A1]bA2b[A2]bAnb[An]Rn1c1#b
    • R1=0
  • 规则 B4. 其他情况:

a0[A1]1[A2]1[Am]1[B1]1[B2]1[Bn]c#b=abA1b[A1]bA2[A2]bAn[An]bB1b[B1]bB2b[B2]bBnb[Bn]c1#b

嵌套超嵌套数阵

2-超分离器

目前,我们需要一种分隔符,其能力要强于嵌套反斜杠数阵的任何嵌套层级。在 Bird 的文章 Beyond Bird's Nested Arrays I 的结尾部分,Bird 提议使用正斜杠作为分隔符,具体如下:

{a,b[1/2]2}={a0/2b}={abbbbbbbbbb}(从中心向右有 b 个 b,则会导致添加 b-2 个反斜杠)

接下来,Bird 指出,分隔符 [A]\(即反斜杠数阵 A)可以重写为 [A¬2],这使我们能够将正斜杠重写为 [1¬3]。然而,为了进一步的目的,以下述方式定义 [1¬3] 会更有用:

{a,b[1[1¬3]2]2}={a0[1¬3]2b}={abbbbbbbbbbb}(从中心向右有 b+1 个 b,则会导致添加 b-1 个反斜杠)

然后,我们可以像处理反斜杠和 [1A¬3] 那样,以相同的方式围绕 [1¬3] 构建数组 [A¬3]。注意,反斜杠是 [1¬2] 分隔符。

因此,我们可以创建嵌套数组,在它后添加 ¬3,而所有这些的极限将是 [1¬4]。要看出一般模式并定义 [1¬n] 分隔符并不难:

{a,b[1[1¬n]2]2}={a0[1¬n]2b}={abbbbb¬n1b¬n1bb¬n1b¬n1bb}(从中心向右有 b+1 个 b,¬n1 出现 b-1 次)

一般来说,我们需要定义一套规则,以便能够处理 [A¬n]。我们无需重写主要规则(Main Rules),因为从嵌套数组表示法开始,这些规则将保持不变。只有尖括号规则(Angle Bracket Rules)会发生变化。

  • 规则 A1. 尖括号内的数字为 0:a0b=a
  • 规则 A2. b=1:aA1=a
  • 规则 A3. [A]<[B]:a#[A]1[B]#b=a#[B]#b
  • 规则 A4. 首项为 0,且在普通分隔符(非 [1¬n] 形式,其中 n>1)后紧跟着 c:

a0[A1]1[A2]1[Am]c#b=abA11b[A1]bA21b[A2]bAm1b[Am]c1#b

  • 规则 A5. 首项为0,且在反斜杠后紧跟着 c:
    • a0[A1]1[A2]1[Am]1c#b=abA11b[A1]bA21b[A2]bAm1b[Am]bRbbc1#b
    • Rn=bA11b[A1]bA21b[A2]bAm1b[Am]bRn1bc1#b(n>1)
    • R1=0
  • 规则 A6. 首项为 0,且在 [1¬n] 后紧跟着 c(n>2):
    • a0[A1]1[A2]1[Am]1[1¬n]c#b=abA11b[A1]bA21b[A2]bAm1b[Am]bRb[1¬n]c1#b
    • R=bA11b[A1]bA21b[A2]bAm1b[Am]Rb[1¬n]c1#b
    • Rn=bA11b[A1]bA21b[A2]bAm1b[Am]bRb1b[1¬n]c1#¬n1b
    • R1=0
  • 规则 A7. 若规则 A1-A6 均不适用,则 ac#b=ac1#b[c#]ac#b1

2 超分隔符数组

我们定义 a0[1¬1,2]2b=ab[b¬b]bb

  • 规则 A1. 基础规则:
    • a0b=a
    • a0¬#b=a
  • 规则 A2. b=1:aA1=a
  • 规则 A3. 移除尾随的 1 和更低的分隔符:
    • a#1b=a#b
    • a#[A]1[B]#*b=a#[B]#*b(当 [A]<[B])

嵌套超嵌套数阵表示法

规则A2(仅在2-超分隔符或更高阶超分隔符前有一个0或1的条目) 现修订为:

  • `a ‹0 #› b` = `a`
  • `a ‹1 #› b` = `a [1 #] a [1 #] ... [1 #] a`(含b个a)
  • `a ‹1 ¬ 2› b` = `a \ a \ ... \ a`(含b个a)
  • `a ‹1 ♦ 2› b` = `a ¬ a ¬ ... ¬ a`(含b个a)

其中#表示以2-或更高阶超分隔符开头(¬不带方括号层,或♦带少于2层方括号)。

规则A3(1维或更高维数组中任意1-空间或更高维空间的最后一个条目为1) 现修订为:

  • `a ‹# [A] 1› b` = `a ‹#› b`

当[A]为m-超分隔符,[B]为n-超分隔符且m < n,或m = n且[A]的层级低于[B]时:

  • `a ‹# [A] 1 [B] #*› b` = `a ‹# [B] #*› b`(移除末尾的1)

规则A5a和A5c修订如下:

规则A5a([Ai,pi] = [1 [Bi,1♦2] 1 [Bi,2♦2] ... 1 [Bi,qi♦2] 1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1],其中pi+1 ≥ 1,qi ≥ 1)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Ti› b [Ai,pi] ci-1 #i`
  • Ti = `b ‹Bi,1’♦2› b [Bi,1♦2] b ‹Bi,2’♦2› b [Bi,2♦2] ... b ‹Bi,qi’♦2› b [Bi,qi♦2] Si+1`

递增i并重复规则A5a-d。

规则A5c(规则A5a-b不适用,[Ai,pi] = [1 [Bi,1♦2] 1 [Bi,2♦2] ... 1 [Bi,qi-1♦2] 1 ¬ di #*i],其中qi ≥ 1)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rb› b [Ai,pi] ci-1 #i`
  • Rn = `b ‹Bi,1’♦2› b [Bi,1♦2] b ‹Bi,2’♦2› b [Bi,2♦2] ... b ‹Bi,qi-1’♦2› b [Bi,qi-1♦2] b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1› b [Ai,pi] ci-1 #i ¬ di-1 #*i`(n > 1),R1 = `0`

新规则A5d与原规则A5d调整,原规则A5d变为规则A5e(规则A5a-d不适用),新增规则A5d如下:

规则A5d(规则A5a-c不适用,[Ai,pi] = [1 [Bi,1♦2] 1 [Bi,2♦2] ... 1 [Bi,qi♦2] di #*i],其中qi ≥ 1且[Bi,qi♦2]层级高于[1♦2]或¬)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹T› b [Ai,pi] ci-1 #i`
  • T = `b ‹Bi,1’♦2› b [Bi,1♦2] b ‹Bi,2’♦2› b [Bi,2♦2] ... b ‹Bi,qi’♦2› b [Bi,qi♦2] di-1 #*i`

新增规则A5d的必要性在于:若原规则A5d(现A5e)适用,字符串T将变为`Ai,pi’ = ‘0 [Bi,1♦2] 1 [Bi,2♦2] ... 1 [Bi,qi♦2] di #*i’`,导致`b ‹T› b` = `b ‹0 [Bi,1♦2] 1 [Bi,2♦2] ... 1 [Bi,qi♦2] di #*i› b` = `b`(根据修订后的规则A2,因[Bi,1♦2]为2-超分隔符(#0字符串开头))。

示例:N = `{a, b [1 [1 [2♦2] 2] 2] 2}` = `{a ‹0 [1 [2♦2] 2] 2› b}`,其中c1=2, d1=2, p1=1, q1=1,#字符串为空,[A1,1]=[1 [2♦2] 2],[B1,1♦2]=[2♦2]。

  • 原规则A5d下:N = `{a ‹S› b}` = `{a ‹b ‹T› b› b}` = `{a ‹b› b}`
  • 新规则A5d下:N = `{a ‹S› b}` = `{a ‹b ‹T› b› b}` = `{a ‹b ‹b ‹B1,1’♦2› b› b› b}` = `{a ‹b ‹b ‹1♦2› b› b› b}`,根据修订后的规则A2,N = `{a ‹b ‹b ¬ b ¬ ... ¬ b› b› b}`(内层角括号含b个b),与原定义一致。

其他规则补充

若[A1,p1]为反斜杠`\`,执行规则A5b。

若[A1,p1]为其他嵌套分隔符,执行规则A5c(现含三个子规则,i下标已移除):

  • 规则A5c1([Ap] = [1 [B1] 1 [B2] ... 1 [Bq-1] 1 ¬ d #*],q ≥ 1,d ≥ 2)
    • S = `b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹Rb› b [Ap] c-1 #`
    • Rn = `b ‹B1’› b [B1] b ‹B2’› b [B2] ... b ‹Bq-1’› b [Bq-1] b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹Rn-1› b [Ap] c-1 # ¬ d-1 #*`(n > 1),R1 = `0`
  • 规则A5c2([Ap] = [1 [B1] 1 [B2] ... 1 [Bq] d #*],其中[Bq] = [1 [C1] 1 [C2] ... 1 [Cr-1] 1 ♦ e #**],q ≥ 1,r ≥ 1,d ≥ 2,e ≥ 2)
    • S = `b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹Rb› b [Ap] c-1 #`
    • Rn = `b ‹B1’› b [B1] b ‹B2’› b [B2] ... b ‹Bq-1’› b [Bq-1] b ‹Tn› b [Bq] d-1 #*`(n > 1)
    • Tn = `b ‹C1’› b [C1] b ‹C2’› b [C2] ... b ‹Cr-1’› b [Cr-1] b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹Rn-1› b [Ap] c-1 # ♦ e-1 #**`(n > 1),R1 = `0`
  • 规则A5c3([Ap] = [1 [B1] 1 [B2] ... 1 [Bq] d #*],其中[Bq] = [1 [C1] 1 [C2] ... 1 [Cr] e #**],[Cr] = [1 ☼ k #***],q ≥ 1,r ≥ 1,d ≥ 2,e ≥ 2,k ≥ 2)
    • S = `b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹Rb› b [Ap] c-1 #`
    • Rn = `b ‹B1’› b [B1] b ‹B2’› b [B2] ... b ‹Bq-1’› b [Bq-1] b ‹Tn› b [Bq] d-1 #*`(n > 1)
    • Tn = `b ‹C1’› b [C1] b ‹C2’› b [C2] ... b ‹Cr-1’› b [Cr-1] b ‹Un› b [Cr] e-1 #**`(n > 1)
    • Un = `b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹Rn-1› b [Ap] c-1 # ☼ k-1 #***`(n > 1),R1 = `0`
  • 规则A5d分为两个子规则:A5d1(处理2-插入式分隔符)和A5d2(处理3-插入式分隔符,i下标已移除,与A5c1-3一致):
  • 规则A5d1([Ap] = [1 [B1] 1 [B2] ... 1 [Bq] d #*],其中[Bq] = [X [C1] Y],X ≠ ‘1’,Y ≠ ‘1’,q ≥ 1,d ≥ 2)
    • S = `b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹T› b [Ap] c-1 #`
    • T = `b ‹B1’› b [B1] b ‹B2’› b [B2] ... b ‹Bq’› b [Bq] d-1 #*`
  • 规则A5d2([Ap] = [1 [B1] 1 [B2] ... 1 [Bq] d #*],其中[Bq] = [1 [C1] 1 [C2] ... 1 [Cr] e #**],[Cr] = [X☼Y],X ≠ ‘1’,Y ≠ ‘1’,q ≥ 1,r ≥ 1,d ≥ 2,e ≥ 2)
    • S = `b ‹A1’› b [A1] b ‹A2’› b [A2] ... b ‹Ap-1’› b [Ap-1] b ‹T› b [Ap] c-1 #`
    • T = `b ‹B1’› b [B1] b ‹B2’› b [B2] ... b ‹Bq-1’› b [Bq-1] b ‹U› b [Bq] d-1 #*`
    • U = `b ‹C1’› b [C1] b ‹C2’› b [C2] ... b ‹Cr’› b [Cr] e-1 #**`

分支分隔符(规则A5a)现分三组:

  1. 第一组形式为[1 [B1] 1 [B2] ... 1 [Bq] 1 [A1] 1 [A2] ... 1 [Ap] k #*]
  2. 第二组形式为[1 [B1] 1 [B2] ... 1 [Bq] d #*],其中[Bq] = [1 [C1] 1 [C2] ... 1 [Cr] 1 [A1] 1 [A2] ... 1 [Ap] k #**]
  3. 第三组形式为[1 [B1] 1 [B2] ... 1 [Bq] d #*],其中[Bq] = [1 [C1] 1 [C2] ... 1 [Cr] e #**],[Cr] = [1 ☼ 1 [A1] 1 [A2] ... 1 [Ap] k #***]

所有组中,[Aj]为普通分隔符或1-超分隔符,[Bj]为2-超分隔符,[Cj]为3-超分隔符,p ≥ 1,q ≥ 1,r ≥ 1,d ≥ 2,e ≥ 2,k ≥ 2,#*、#**、#***为剩余数组部分。规则A5a现含三个子规则,n子规则对应n-分支分隔符(上述第n组)。i初始为1。

规则A5a1([Ai,pi] = [1 [Bi,1] 1 [Bi,2] ... 1 [Bi,qi] 1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1],pi+1 ≥ 1,qi ≥ 1)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Ti› b [Ai,pi] ci-1 #i`
  • Ti = `b ‹Bi,1’› b [Bi,1] b ‹Bi,2’› b [Bi,2] ... b ‹Bi,qi’› b [Bi,qi] Si+1`

递增i并重复规则A5a-e。

规则A5a2([Ai,pi] = [1 [Bi,1] 1 [Bi,2] ... 1 [Bi,qi] di #*i],[Bi,qi] = [1 [Ci,1] 1 [Ci,2] ... 1 [Ci,ri] 1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1],pi+1 ≥ 1,qi ≥ 1,ri ≥ 1)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Ti› b [Ai,pi] ci-1 #i`
  • Ti = `b ‹Bi,1’› b [Bi,1] b ‹Bi,2’› b [Bi,2] ... b ‹Bi,qi-1’› b [Bi,qi-1] b ‹Ui› b [Bi,qi] di-1 #*i`
  • Ui = `b ‹Ci,1’› b [Ci,1] b ‹Ci,2’› b [Ci,2] ... b ‹Ci,ri’› b [Ci,ri] Si+1`

递增i并重复规则A5a-e。

规则A5a3([Ai,pi] = [1 [Bi,1] 1 [Bi,2] ... 1 [Bi,qi] di #*i],[Bi,qi] = [1 [Ci,1] 1 [Ci,2] ... 1 [Ci,ri] ei #**i],[Ci,ri] = [1 ☼ 1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1],pi+1 ≥ 1,qi ≥ 1,ri ≥ 1)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Ti› b [Ai,pi] ci-1 #i`
  • Ti = `b ‹Bi,1’› b [Bi,1] b ‹Bi,2’› b [Bi,2] ... b ‹Bi,qi-1’› b [Bi,qi-1] b ‹Ui› b [Bi,qi] di-1 #*i`
  • Ui = `b ‹Ci,1’› b [Ci,1] b ‹Ci,2’› b [Ci,2] ... b ‹Ci,ri-1’› b [Ci,ri-1] b ‹b ☼ Si+1› b [Ci,ri] ei-1 #**i`

递增i并重复规则A5a-e。

规则A5(规则A1-4不适用,第一个条目为0,紧接下一个非1条目(c1,1)前的分隔符为[A1,1,p1,1])修订为:

  • `a ‹ 0 [A1,1,1] 1 [A1,1,2] ... 1 [A1,1,p1,1] c1,1 #1,1 #* › b` = `a ‹S1,1 #*› b`

其中p1,1 ≥ 1,[A1,1,i*]为普通分隔符或1-超分隔符,#1,1的底层不含2-或更高阶超分隔符,#*为空或以2-或更高阶超分隔符开头。 设i=1,执行规则A5a-e(b-e为终止规则,a非终止)。

规则A5a(分隔符[Ai,j,pi,j] = [1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] ci,j+1 #i,j+1](1 ≤ j < k)或[1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] 1 [Ai+1,1,1] 1 [Ai+1,1,2] ... 1 [Ai+1,1,pi+1,1] ci+1,1 #i+1,1](j = k),其中pi,j+1 ≥ 1,pi+1,1 ≥ 1,ci+1,1 ≥ 2,[Ai+1,1,i*]为普通分隔符或1-超分隔符,[Ai,j+1,i*]为(j+1)-超分隔符) - Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j-1’› b [Ai,j,pi,j-1] b ‹Si,j+1› b [Ai,j,pi,j] ci,j-1 #i,j`(1 ≤ j < k+1) - Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j’› b [Ai,j,pi,j] Si+1,1`(j = k+1)

递增i并重复规则A5a-e。

规则A5b(分隔符[Ai,1,pi,1] = [1 \2 2] = \)

  • Si,1 = `Rb`
  • Rn = `b ‹Ai,1,1’› b [Ai,1,1] b ‹Ai,1,2’› b [Ai,1,2] ... b ‹Ai,1,pi,1-1’› b [Ai,1,pi,1-1] b ‹Rn-1› b \ ci,1-1 #i,1`(n > 1),R1 = `0`

规则A5c(规则A5a-b不适用,分隔符[Ai,j,pi,j] = [1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] ci,j+1 #i,j+1](1 ≤ j < k)或[1 \ j+1 2] = \ j(j = k),其中pi,j+1 ≥ 1,ci,j+1 ≥ 2,[Ai,j+1,i*]为(j+1)-超分隔符)

  • Si,1 = `b ‹Ai,1,1’› b [Ai,1,1] b ‹Ai,1,2’› b [Ai,1,2] ... b ‹Ai,1,pi,1-1’› b [Ai,1,pi,1-1] b ‹Rb,1› b [Ai,1,pi,1] ci,1-1 #i,1`
  • Rn,j = `b ‹Ai,j+1,1’› b [Ai,j+1,1] b ‹Ai,j+1,2’› b [Ai,j+1,2] ... b ‹Ai,j+1,pi,j+1-1’› b [Ai,j+1,pi,j+1-1] b ‹Rn,j+1› b [Ai,j+1,pi,j+1] ci,j+1-1 #i,j+1`(n > 1,1 ≤ j < k-1)
  • Rn,j = `b ‹Ai,j+1,1’› b [Ai,j+1,1] b ‹Ai,j+1,2’› b [Ai,j+1,2] ... b ‹Ai,j+1,pi,j+1-1’› b [Ai,j+1,pi,j+1-1] b ‹Ai,1,1’› b [Ai,1,1] b ‹Ai,1,2’› b [Ai,1,2] ... b ‹Ai,1,pi,1-1’› b [Ai,1,pi,1-1] b ‹Rn-1,1› b [Ai,1,pi,1] ci,1-1 #i,1 \ j+1 ci,j+1-1 #i,j+1`(n > 1,j = k-1)
  • R1,1 = `0`

规则A5d(规则A5a-c不适用,分隔符[Ai,j,pi,j] = [1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] ci,j+1 #i,j+1](1 ≤ j < k)或[X [Ai,j+1,1] Y](j = k ≥ 2,X ≠ ‘1’,Y ≠ ‘1’),其中pi,j+1 ≥ 1,ci,j+1 ≥ 2,[Ai,j+1,i*]为(j+1)-超分隔符,X的底层不含2-或更高阶超分隔符)

  • Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j-1’› b [Ai,j,pi,j-1] b ‹Si,j+1› b [Ai,j,pi,j] ci,j-1 #i,j`(1 ≤ j < k)
  • Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j’› b [Ai,j,pi,j] ci,j-1 #i,j`(j = k)

规则A5e(规则A5a-d不适用)

  • Si,1 = `b ‹Ai,1,1’› b [Ai,1,1] b ‹Ai,1,2’› b [Ai,1,2] ... b ‹Ai,1,pi,1’› b [Ai,1,pi,1] ci,1-1 #i,1`

规则A5a、A5c、A5d分别处理k-分支分隔符、(k-1)-嵌套分隔符、k-插入式分隔符(给定k值)。可通过逐层(j)和逐分支(i)迭代简化。分隔符[Ai,j,pi,j]的底层场景分五组:

  1. 组1:[1 \2 2] = \(j=1)
  2. 组2:[1 \ j+1 2] = \ j(j ≥ 2)
  3. 组3:[1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] 1 [Ai+1,1,1] 1 [Ai+1,1,2] ... 1 [Ai+1,1,pi+1,1] ci+1,1 #i+1,1]
  4. 组4:[1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] ci,j+1 #i,j+1]
  5. 组5:其他场景(含插入式分隔符顶层)

组3、4中,[Ai,j+1,i*]为(j+1)-超分隔符;组3中,[Ai+1,1,i*]为普通分隔符或1-超分隔符,ci+1,1 ≥ 2;组4中,ci,j+1 ≥ 2。组1为1-嵌套分隔符(trivial),组2为嵌套分隔符顶层(组1外),组3为分支分隔符顶层,组4为三类特殊分隔符的底层,组5为其他非特殊分隔符(含插入式分隔符顶层)。

尖括号规则 (BNA3)

规则A1(仅含一个0或1)

  • `a ‹0› b` = `a`
  • `a ‹1› b` = `a, a, ... , a`(含b个a)

规则A2(仅在2-超分隔符或更高阶超分隔符前有一个0或1)

  • `a ‹0 #› b` = `a`
  • `a ‹1 #› b` = `a [1 #] a [1 #] ... [1 #] a`(含b个a)

其中#表示以2-或更高阶超分隔符开头。当n ≥ 2时:

  • `a ‹1 \n 2› b` = `a \n-1 a \n-1 ... \n-1 a`(含b个a)

规则A3(1维或更高维数组中任意1-空间或更高维空间的最后一个条目为1)

  • `a ‹# [A] 1› b` = `a ‹#› b`

当[A]为m-超分隔符,[B]为n-超分隔符且m < n,或m = n且[A]的层级低于[B]时:

  • `a ‹# [A] 1 [B] #*› b` = `a ‹# [B] #*› b`(移除末尾的1)

规则A4(角括号右侧为1)

  • `a ‹A› 1` = `a`

规则A5(规则A1-4不适用,首个条目为0,下一非1条目前的分隔符为[A1,1,p1,1])

  • `a ‹ 0 [A1,1,1] 1 [A1,1,2] ... 1 [A1,1,p1,1] c1,1 #1,1 #* › b` = `a ‹S1,1 #*› b`

其中:

  • p1,1 ≥ 1
  • [A1,1,i*]为普通分隔符或1-超分隔符
  • #1,1的底层不含2-或更高阶超分隔符
  • #*为空或以2-或更高阶超分隔符开头

设i = 1,j = 1,执行规则A5a-e(a、b、e为终止规则,c、d非终止):

规则A5a(分隔符[Ai,1,pi,1] = [1 \2 2] = \)

  • Si,1 = `Rb`
  • Rn = `b ‹Ai,1,1’› b [Ai,1,1] b ‹Ai,1,2’› b [Ai,1,2] ... b ‹Ai,1,pi,1-1’› b [Ai,1,pi,1-1] b ‹Rn-1› b \ ci,1-1 #i,1`(n > 1),R1 = `0`

规则A5b(规则A5a不适用,分隔符[Ai,j,pi,j] = [1 \ j+1 2] = \ j,j ≥ 2)

  • Si,j = `Rb,j-1`
  • Rn,j-1 = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j-1’› b [Ai,j,pi,j-1] b ‹Ai,1,1’› b [Ai,1,1] b ‹Ai,1,2’› b [Ai,1,2] ... b ‹Ai,1,pi,1-1’› b [Ai,1,pi,1-1] b ‹Rn-1,1› b [Ai,1,pi,1] ci,1-1 #i,1 \ j ci,j-1 #i,j`(n > 1)
  • Rn,k = `b ‹Ai,k+1,1’› b [Ai,k+1,1] b ‹Ai,k+1,2’› b [Ai,k+1,2] ... b ‹Ai,k+1,pi,k+1-1’› b [Ai,k+1,pi,k+1-1] b ‹Rn,k+1› b [Ai,k+1,pi,k+1] ci,k+1-1 #i,k+1`(n > 1,1 ≤ k < j-1),R1,1 = `0`

规则A5c(规则A5a-b不适用,分隔符[Ai,j,pi,j] = [1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] 1 [Ai+1,1,1] 1 [Ai+1,1,2] ... 1 [Ai+1,1,pi+1,1] ci+1,1 #i+1,1])

  • Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j-1’› b [Ai,j,pi,j-1] b ‹Ti› b [Ai,j,pi,j] ci,j-1 #i,j’
  • Ti = `b ‹Ai,j+1,1’› b [Ai,j+1,1] b ‹Ai,j+1,2’› b [Ai,j+1,2] ... b ‹Ai,j+1,pi,j+1’› b [Ai,j+1,pi,j+1] Si+1,1`

递增i,重置j = 1,重复规则A5a-e。

规则A5d(规则A5a-c不适用,分隔符[Ai,j,pi,j] = [1 [Ai,j+1,1] 1 [Ai,j+1,2] ... 1 [Ai,j+1,pi,j+1] ci,j+1 #i,j+1])

  • Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j-1’› b [Ai,j,pi,j-1] b ‹Si,j+1› b [Ai,j,pi,j] ci,j-1 #i,j’

递增j,重复规则A5a-e。

规则A5e(规则A5a-d不适用)

  • Si,j = `b ‹Ai,j,1’› b [Ai,j,1] b ‹Ai,j,2’› b [Ai,j,2] ... b ‹Ai,j,pi,j’› b [Ai,j,pi,j] ci,j-1 #i,j’

规则A6(规则A1-5不适用)

  • `a ‹n #› b` = `a ‹n-1 #› b [n #] a ‹n-1 #› b [n #] ... [n #] a ‹n-1 #› b`(含b个`a ‹n-1 #› b`字符串) --- ###

分层超嵌套数阵表示法(第 2 部分)

规则A5(规则A1-4不适用,第一个条目为0,紧接下一个非1条目(c1)前的分隔符为[A1,p1]):

  • a ‹ 0 [A1,1] 1 [A1,2] ... 1 [A1,p1] c1 #1 #* › b = a ‹S1 #*› b

其中p1 ≥ 1,[A1,j]为普通分隔符或1-超分隔符,#1的底层不含2-或更高阶超分隔符,#*为空字符串或以2-或更高阶超分隔符开头。

设i=1,t1, t2, ..., tx=0(x为[A1,p1]内正斜杠的最高下标),并执行规则A5a-c(a、c为终止规则,b非终止)。(注:i = t1+1始终成立)

规则A5a(分隔符[Ai,pi] = [1 /m+1 2] = /m,m ≥ 1):

  • s = i - tm
  • Si = Rb,i
  • 当n > 1且s ≤ k < i时:
    • Rn,i = b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1,s› b /m ci-1 #i
    • Rn,k = b ‹Ak,1’› b [Ak,1] b ‹Ak,2’› b [Ak,2] ... b ‹Ak,pk-1’› b [Ak,pk-1] b ‹Rn,k+1› b [Ak,pk] ck-1 #k
  • R1,s = 0

规则A5b(规则A5a-a*不适用,分隔符[Ai,pi] = [1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1],为m-超分隔符,m ≥ 1,pi+1 ≥ 1,ci+1 ≥ 2):

  • Si = b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Si+1› b [Ai,pi] ci-1 #i
  • 递增i, t1, t2, ..., tm各1;重置tm+1, tm+2, ..., tx为0,并重复规则A5a-c。(i = t1+1)

规则A5c(规则A5a-b不适用):

  • Si = b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi’› b [Ai,pi] ci-1 #i

“超级规则”角括号规则A5实际包含三个子规则,根据[Ai,pi]分隔符的组成:

  • A5a:[Ai,pi] = [1 /m+1 2] = /m(m ≥ 1)
  • A5b:[Ai,pi] = [1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1],为m-超分隔符(pi+1 ≥ 1,ci+1 ≥ 2,m ≥ 1)
  • A5c:[Ai,pi]的所有其他情况

巴赫曼-霍华德层级分隔符现可通过修订后的规则A5验证:

N = {a, b [1 [1~3] 2] 2} = {a ‹0 [1~3] 2› b} = {a ‹S1› b}

  • p1=1,c1=2,#1=#*=空,[A1,1]=[1~3](1-超分隔符)
  • p2=1,c2=3,#2=空,[A2,1]=~(= /2,2-超分隔符)
  • 根据规则A5b(m=1),S1 = b ‹S2› b,t1=1,t2=0
  • 根据规则A5a(m=2,s=2),S2 = Rb,2,Rn,2 = b ‹Rn-1,2› b ~2,R1,2 = 0
  • 最终:N = {a ‹b ‹Rb› b› b},其中Rn = b ‹Rn-1› b ~2,R1 = 0

Bird 的分层超嵌套数阵表示法——尖括号规则

规则A1(仅1个条目为0或1):

  • a ‹0› b = a
  • a ‹1› b = a, a, ..., a(含b个a)

规则A2(仅在2-超分隔符或更高阶超分隔符前有一个0或1的条目):

  • a ‹0 #› b = a
  • a ‹1 #› b = a [1 #] a [1 #] ... [1 #] a(含b个a),其中#以2-或更高阶超分隔符开头
  • 当n ≥ 2时,a ‹1 /n 2› b = a /n-1 a /n-1 ... /n-1 a(含b个a)

规则A3(数组中任意1维或更高维空间的最后一个条目为1):

  • a ‹# [A] 1› b = a ‹#› b
  • 当[A]为m-超分隔符,[B]为n-超分隔符且m < n,或m = n且[A]的层级低于[B]时:
    • a ‹# [A] 1 [B] #*› b = a ‹# [B] #*› b
  • 移除末尾的1

规则A4(角括号右侧的数为1):

  • a ‹A› 1 = a

规则A6(规则A1-5不适用):

  • a ‹n #› b = a ‹n-1 #› b [n #] a ‹n-1 #› b [n #] ... [n #] a ‹n-1 #› b(含b个a ‹n-1 #› b字符串)

注释

  1. A、B、Ai,1、Ai,2、...、Ai,pi是分隔符内的字符字符串。
  2. Ai,1’、Ai,2’、...、Ai,pi’是角括号内的字符字符串,与Ai,1、Ai,2、...、Ai,pi分别相同,但每个字符串的第一个条目减1。若Ai,j(1 ≤ j ≤ pi)以1开头,则Ai,j’以0开头。
  3. Si和Rn,k是字符串构建函数,用于创建字符字符串。R函数在替换为0之前,会将自身周围的相同字符字符串嵌套n-1次。
  4. #、#*和#i是表示数组剩余部分的字符字符串(可为空)。
  5. /n符号是n-超分隔符,/n被m对方括号包围(对于任意k,没有/k符号被少于k+m-n对方括号包围)时,是(n-m)-超分隔符(当n > m时),否则是普通分隔符(或0-超分隔符)。不含任何正斜杠的分隔符是普通分隔符。
  6. 逗号用作[1]分隔符的简写。
  7. /n用作[1 /n+1 2]分隔符的简写。

分层超嵌套数阵表示法

规则A5a2(分隔符[Ai,pi] = //)定义:

  • s = i-tω`
  • h = EndSub(‘#s’)(#s末尾的下标,默认为1)
  • #*s = DelEndSub(‘#s’)(删除末尾下标后的#s)
  • #n,s = ‘#*s h+b-n’(1 < n < b)
  • #n,k = ‘#k’(1 < n ≤ b,s < k ≤ i)
  • Si = ‘Rb,i’

递归定义(1 < n ≤ b,s ≤ k < i):

  • Rn,i = ‘b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1,s› b // ci-1 #n,i’
  • Rn,k = ‘b ‹Ak,1’› b [Ak,1] b ‹Ak,2’› b [Ak,2] ... b ‹Ak,pk-1’› b [Ak,pk-1] b ‹Rn,k+1› b [Ak,pk] ck-1 #n,k’
  • R1,s = ‘0’

规则A5a2(分隔符[Ai,pi] = //m,m ≥ 1)定义:

  • s = i-tω+m-1
  • h = EndSub(‘#s’)`(#s末尾的下标,默认为1)
  • #*s = DelEndSub(‘#s’)`(删除末尾下标后的#s)
  • #n,s = ‘#*s h+b-n’`(1 < n < b,m = 1)
  • #n,k = ‘#k’`(1 < n ≤ b,s < k ≤ i或k = s,m ≥ 2)
  • Si = ‘Rb,i’`

递归定义(1 < n ≤ b,s ≤ k < i):

  • Rn,i = ‘b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1,s› b //m ci-1 #n,i’
  • Rn,k = ‘b ‹Ak,1’› b [Ak,1] b ‹Ak,2’› b [Ak,2] ... b ‹Ak,pk-1’› b [Ak,pk-1] b ‹Rn,k+1› b [Ak,pk] ck-1 #n,k’
  • R1,s = ‘0’

示例:θ(ε(Ωω+k-2+1))级别分隔符

定义 [Xk] = [1 [1 [ ... [1 [1 //k 3] 2] ... ] 2] 2]`(含k对方括号)

表达式:{a, b [1 [Xk] 2] 2} = {a ‹0 [Xk] 2› b} = {a ‹S1› b}

参数

  • `p1 = 1`, `c1 = 2`, `#1 = #* = ‘’`(空)
  • `[A1,1] = [Xk]`(1-超分隔符)
  • `pj = 1`, `cj = 2`, `#j = ‘’`(空)
  • `[Aj,1] = [1 [1 [ ... [1 [1 //k 3] 2] ... ] 2] 2]`((ω+j-2)-超分隔符,含k-j+1对方括号)
  • `pk+1 = 1`, `ck+1 = 3`, `#k+1 = ‘’`(空)
  • `[Ak+1,1] = //k`((ω+k-1)-超分隔符)

应用规则

  1. 规则A5b(m = 1时j=1,m = ω+j-2时2 ≤ j ≤ k):
    • `Sj = ‘b ‹Sj+1› b’`
    • `t1 = j`, `tω = j-1`, `tω+1 = j-2`, ..., `tω+j-2 = 1`, `tω+j-1 = tω+j = ... = tω+k-1 = 0`
  2. 规则A5a2**(m = k,s = k+1):
    • Sk+1 = ‘Rb,k+1’
    • Rn,k+1 = ‘b ‹Rn-1,k+1› b //k 2’
    • R1,k+1 = ‘0’

结果

  • `{a, b [1 [Xk] 2] 2} = {a ‹b ‹b ‹ ... ‹b ‹S› b› ... › b› b› b}`(含k对角括号)
  • `S = ‘b ‹b ‹b ‹ ... ‹b ‹b //k 2› b //k 2› ... › b //k 2› b //k 2› b’`(含b-1对角括号和//k)

规则A5(规则A1-4不适用,首条目为0,紧接非1条目前的分隔符为[A1,p1])

  • `a ‹0 [A1,1] 1 [A1,2] ... 1 [A1,p1] c1 #1 #*› b` = `a ‹S1 #*› b`
  • `p1 ≥ 1`,每个[A1,j]为普通分隔符或1-超分隔符
  • `#1`的底层不含2-或更高阶超分隔符或下标
  • `#*`为空、含下标或以2-或更高阶超分隔符开头

执行:设`i = 1`,`t1 = 0`,执行规则A5a-c(a、a*、c为终止规则,b非终止)

规则A5a(分隔符[Ai,pi] = /m,m*,m ≥ 1,m* ≥ 1)

  • 设`r = 1`,对每个j从1到i-1,当`mj* < m*`或`mj* = m*`且`mj < m`时,`r`递增
  • `s = i-tr`
  • `h = EndSub(‘#s’)`(默认为1)
  • `#*s = DelEndSub(‘#s’)`
  • `#n,s = ‘#*s h+b-n’`(1 < n < b,m = 1,m* ≥ 2)
  • `#n,k = ‘#k’`(1 < n ≤ b,s ≤ k ≤ i,k ≠ s,m = 1,m* ≥ 2)
  • `Si = ‘Rb,i’`

递归定义(1 < n ≤ b,s ≤ k < i):

  • Rn,i = ‘b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1,s› b /m,m* ci-1 #n,i’
  • Rn,k = ‘b ‹Ak,1’› b [Ak,1] b ‹Ak,2’› b [Ak,2] ... b ‹Ak,pk-1’› b [Ak,pk-1] b ‹Rn,k+1› b [Ak,pk] ck-1 #n,k’
  • R1,s = ‘0’

规则A5a*(分隔符[Ai,pi] = [d #H m],d ≥ 2,#H含(1,k)-超分隔符)

  • Si = ‘b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] Rb [d #H m] ci-1 #i’
  • Rn = ‘b ‹Rn-1› b’`(n > 1)
  • R1 = ‘b [d-1 #H m+b-1] b’

规则A5b(规则A5a不适用,分隔符[Ai,pi] = [1 [Ai+1,1] ... ci+1 #i+1])

  • Si = ‘b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Si+1› b [Ai,pi] ci-1 #i’`

计数器更新:

  • 设`r = 1`,`f = 0`,对每个j从1到i-1,当`mj* < mi*`或`mj* = mi*`且`mj ≤ mi`时,`r`递增;当`mj* = mi*`且`mj = mi`时,`f = 1`
  • 递增`t1, t2, ..., tr`,若`f = 1`则设`tr = tr-1`,重置`tr+1, ..., ti`为0,设`ti+1 = 0`,递增`i`并重复规则A5a-c

规则A5c(规则A5a-b不适用)

  • `Si = ‘b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi’› b [Ai,pi] ci-1 #i’`

θ(Ωω^Ω3)级别分隔符示例:分隔符序列

  • `[A1,1] = [1 [1 [1 [1 /3 2 /2,2 2] 2 2] 2 /2,2 2] 2]`,`[m1, m1*] = [1]`
  • `[A2,1] = [1 [1 [1 /3 2 /2,2 2] 2 2] 2 /2,2 2]`,`[m2, m2*] = [1, 2]`
  • `[A3,1] = [1 [1 /3 2 /2,2 2] 2 2]`,`[m3, m3*] = [2]`
  • `[A4,1] = [1 /3 2 /2,2 2]`,`[m4, m4*] = [1, 2]`
  • `[A5,1] = /3`,`[m5, m5*] = [3]`

应用规则

  1. 初始:`i = 1`,`t1 = 0`
  2. 第一次应用A5b:`r = 1`,`f = 0` → `t1 = 1`,`t2 = 0`
  3. 第二次应用A5b(i=2):`r = 2`,`f = 0` → `t1 = 2`,`t2 = 1`,`t3 = 0`
  4. 第三次应用A5b(i=3):`r = 2`,`f = 0` → `t1 = 3`,`t2 = 2`,`t3 = 0`,`t4 = 0`
  5. 第四次应用A5b(i=4):`r = 4`,`f = 1` → `t1 = 4`,`t2 = 3`,`t3 = t4 = 1`,`t5 = 0`
  6. 应用A5a(i=5):`m = 3`,`m* = 1`,`r = 3`,`s = i-tr = 4`

规则A3(任意1维或更高维数组中最后一个条目为1)

  • `a ‹# [A] 1 n1,n2,...,nk› b` = `a ‹# n1,n2,...,nk› b`

超分隔符比较:当[A]为(m1, m2, ..., mp)-超分隔符,[B]为(n1, n2, ..., nq)-超分隔符,且满足以下条件之一时:

  • `p < q`
  • `p = q`且存在k使得`mk < nk`且`mi = ni`(对所有k < i ≤ p)
  • `p = q`,`mi = ni`(对所有1 ≤ i ≤ p),且[A]的层级低于[B]
  • `a ‹# [A] 1 [B] #*› b` = `a ‹# [B] #*› b`(移除末尾的1)

θ(Ωω^ω^2)级别分隔符示例

定义`{a, b [1 [2 /1 [3] 2 2] 2] 2} = {a ‹0 [2 /1 [3] 2 2] 2› b}`

展开:`1 ‹2› b (←b)` = `1 ‹1› b [2] 1 ‹1› b [2] ... 1 ‹1› b [2] 1 ‹1› b (←b)`(含b-1个[2])

结果:`{a, b [1 [2 /1 [3] 2 2] 2] 2} = {a ‹b ‹b ‹ ... ‹b ‹b /1 [2] 1 [2] ... 1 [2] 1,1,...,1,b b› b› ... › b› b› b}`(b对角括号,b-1个`1 [2]`和b-1个1)

规则A1补充

  • `a ‹0› b (←c)` = `c`
  • `a ‹1› b (←c)` = `a, a, ..., a, c`(含b-1个a)

规则A2补充

  • `a ‹0 #› b (←c)` = `c`
  • `a ‹1 #› b (←c)` = `a [1 #] a [1 #] ... a [1 #] c`(含b-1个a)

规则A4补充

  • `a ‹A› 1 (←c)` = `c`

θ(Ωω^ω^ω)级别分隔符示例

定义 `{a, b [1 [2 /1 [1,2] 2 2] 2] 2} = {a ‹0 [2 /1 [1,2] 2 2] 2› b}`

展开 `1 ‹b› b (←b)` = `1 ‹b-1› b [b] 1 ‹b-1› b [b] ... 1 ‹b-1› b [b] 1 ‹b-1› b (←b)`(含b-1个[b])

结果 `{a, b [1 [2 /1 [1,2] 2 2] 2] 2} = {a ‹b ‹b ‹ ... ‹b ‹b /1 ‹b› b (←b) b› b› ... › b› b› b}`(b对角括号,含b-1个[b]、[b-1]、...、[2]和b-1个1)

Bird 的嵌套分层超嵌套数组表示法——尖括号规则

规则A1(仅含0或1的单一条目)

  • `a ‹0› b` = `a`
  • `a ‹1› b` = `a, a, ... , a`(含b个a)
  • `a ‹0› b (←c)` = `c`
  • `a ‹1› b (←c)` = `a, a, ... , a, c`(含b-1个a)

规则A2(仅在2-超分隔符或更高阶超分隔符前含0或1的单一条目)

  • `a ‹0 # N› b` = `a`
  • `a ‹1 # N› b` = `a [1 # N] a [1 # N] ... [1 # N] a`(含b个a)
  • `a ‹0 # N› b (←c)` = `c`
  • `a ‹1 # N› b (←c)` = `a [1 # N] a [1 # N] ... a [1 # N] c`(含b-1个a)

其中#表示以2-或更高阶超分隔符开头。

规则A3(1维或更高维数组中任意1-空间或更高维空间的最后一个条目为1)

  • `a ‹# [A] 1 N› b` = `a ‹# N› b`

当[A]为M1-超分隔符,[B]为M2-超分隔符且M1 < M2,或M1 = M2且[A] < [B]时:

  • `a ‹# [A] 1 [B] #* N› b` = `a ‹# [B] #* N› b`(移除末尾的1)

规则A4(角括号右侧数字为1)

  • `a ‹A N› 1` = `a`
  • `a ‹A N› 1 (←c)` = `c`

规则A5(规则A1-4不适用,第一个条目为0,紧接下一个非1条目(c1)前的分隔符为[A1,p1])

  • `a ‹0 [A1,1] 1 [A1,2] ... 1 [A1,p1] c1 #1 #* N1› b` = `a ‹S1 #* N1› b`

其中p1 ≥ 1,[A1,j]为普通分隔符或1-超分隔符,#1的底层不含2-或更高阶超分隔符,#*为空或以2-或更高阶超分隔符开头。

设i=1,t1=0,执行规则A5a-f(a-d和f为终止规则,e非终止)。(注:i = t1+1始终成立。)

规则A5a(分隔符[Ai,pi] = /M,其中M = ‘1 [B1] 1 [B2] ... [Bp-1] 1, m1 [C1] m2 [C2] ... [Cq-1] mq’,p ≥ 1,q ≥ 1,m1 ≥ 2,mq ≥ 2,[Bj]和[Cj]为普通分隔符)

  1. 设r=1。对每个j从1到i-1,若Mj < M,则r递增。
  2. s = i-tr。
  3. 子脚本数组Ns = ‘n1 [D1] n2 [D2] ... [Dh-1] nh’,其中h ≥ 1,nh ≥ 2(h ≥ 2),[Dj]为普通分隔符。

执行三步算法确定Nn,s(1 < n < b):

  1. 设x=1,y=1,进入步骤2。
  2. 步骤2:
    • 若x=p且y=h,则Nn,s = ‘n1 [D1] n2 [D2] ... nh-1 [Dh-1] nh+b-n’。
    • 若x=p且y<h,则Nn,s = ‘n1 [D1] n2 [D2] ... ny-1 [Dy-1] ny+b-n [Dy] ny+1 [Dy+1] ... nh-1 [Dh-1] nh’。
    • 若x<p且y=h,则Nn,s = ‘n1 [D1] n2 [D2] ... nh-1 [Dh-1] nh [Bx] 1 [Bx+1] ... 1 [Bp-1] b+1-n’。
    • 若x<p且y<h,进入步骤3。
  3. 步骤3:
    • 若[Bx] > [Dy],则y递增,返回步骤2。
    • 若[Bx] = [Dy],则x和y均递增,返回步骤2。
    • 若[Bx] < [Dy],则Nn,s = ‘n1 [D1] n2 [D2] ... ny-1 [Dy-1] ny [Bx] 1 [Bx+1] ... 1 [Bp-1] b+1-n [Dy] ny+1 [Dy+1] ... nh-1 [Dh-1] nh’。
  4. 最终得到:
    • Nb,i = ‘Ni’
    • Nn,k = ‘Nk’(1 < n < b,s < k ≤ i)
    • Si = ‘Rb,i’
    • 对1 < n ≤ b和s ≤ k < i:
      • Rn,i = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1,s› b /M ci-1 #i Nn,i`
      • Rn,k = `b ‹Ak,1’› b [Ak,1] b ‹Ak,2’› b [Ak,2] ... b ‹Ak,pk-1’› b [Ak,pk-1] b ‹Rn,k+1› b [Ak,pk] ck-1 #k Nn,k`
      • R1,s = `0`

规则A5b(规则A5a不适用,分隔符[Ai,pi] = /M,其中M = ‘1 [B1] 1 [B2] ... [Bp-1] 1 [Bp] m1 [C1] m2 [C2] ... [Cq-1] mq’,p ≥ 1,q ≥ 1,m1 ≥ 2,mq ≥ 2,[Bp] ≥ [2],[Bj]和[Cj]为普通分隔符)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b /M* ci #i /M ci-1 #i Ni`
  • 其中M* = ‘1 [B1] 1 [B2] ... [Bp-1] 1 ‹Bp’› b (←2) [Bp] m1-1 [C1] m2 [C2] ... [Cq-1] mq’

规则A5c(规则A5a-b不适用,分隔符[Ai,pi] = /M,其中M = ‘m1 [B1] m2 [B2] ... [Bq-1] mq’,q ≥ 1,m1 ≥ 2(q ≥ 2),mq ≥ 2(q ≥ 2),[Bj]为普通分隔符)

  1. 设r=1。对每个j从1到i-1,若Mj < M,则r递增。
  2. s = i-tr。
  3. Si = `Rb,i`
  4. 对1 < n ≤ b和s ≤ k < i:
    • Rn,i = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Rn-1,s› b /M ci-1 #i Ni`
    • Rn,k = `b ‹Ak,1’› b [Ak,1] b ‹Ak,2’› b [Ak,2] ... b ‹Ak,pk-1’› b [Ak,pk-1] b ‹Rn,k+1› b [Ak,pk] ck-1 #k Nk`
    • R1,s = `0`

规则A5d(规则A5a-c不适用,分隔符[Ai,pi] = [d #H M],d ≥ 2,#H的底层含H-超分隔符,H = ‘1 [H1] 1 [H2] ... 1 [Hk] h #H*’,h ≥ 2,k ≥ 1,[Hj]为普通分隔符)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] Rb [d #H M] ci-1 #i Ni`
  • Rn = `b ‹Rn-1› b`(n > 1)
  • R1 = `b [d-1 #H 1 [H1] 1 [H2] ... 1 [Hk-1] 1 ‹Hk’› b (←m+b-1)] b`
  • 其中m为M的子脚本数组第k项(M = ‘m1 [H1] m2 [H2] ... mk-1 [Hk-1] m’)

规则A5e(规则A5a-d不适用,分隔符[Ai,pi] = [1 [Ai+1,1] 1 [Ai+1,2] ... 1 [Ai+1,pi+1] ci+1 #i+1 Ni+1],为Mi-超分隔符,pi+1 ≥ 1,ci+1 ≥ 2,Mi ≥ ‘1’)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi-1’› b [Ai,pi-1] b ‹Si+1› b [Ai,pi] ci-1 #i Ni`
  1. 设r=1,f=0。对每个j从1到i-1:
    • 若Mj ≤ Mi,则r递增。
    • 若Mj = Mi,则f=1。
  2. 递增t1, t2, ..., tr;若f=1,则tr = tr-1;重置tr+1, ..., ti为0;ti+1=0;i递增(i = t1+1),重复规则A5a-f。

规则A5f(规则A5a-e不适用)

  • Si = `b ‹Ai,1’› b [Ai,1] b ‹Ai,2’› b [Ai,2] ... b ‹Ai,pi’› b [Ai,pi] ci-1 #i Ni`

规则A6(规则A1-5不适用)

  • `a ‹n # N› b` = `a ‹n-1 # N› b [n # N] a ‹n-1 # N› b [n # N] ... [n # N] a ‹n-1 # N› b`(含b个`a ‹n-1 # N› b`字符串)

注释

  1. 符号定义:
    • A, B, Ai,1, Ai,2, ..., Ai,pi, Bj, Cj, Dj, Hj为分隔符内的字符串。
    • Ai,1’, Ai,2’, ..., Ai,pi’, Bp’, Hk’为角括号内字符串,首项减1(若首项为1,则变为0)。
    • M, M*, N, Ni, Nn,k为子脚本数组。
    • Mi, H为超层级描述符。
    • Si, Rn, Rn,k为字符串构建函数,R函数嵌套自身n-1次后替换为`0`。
    • #, #*, #i, #H, #H*为数组剩余部分(可为空),H和H*为标签,非变量。
  2. 左箭头符号:
    • 规则A5b和A5d中,左箭头(←)表示角括号解析为1和分隔符的序列,末尾1替换为箭头旁数字,最终移除箭头和左侧角括号。
  3. 超分隔符定义:
    • /N为N-超分隔符,递归定义见第41页。
    • 底层不含2-或更高阶超分隔符的分隔符为普通分隔符(0-超分隔符)。
  4. 逗号简写:逗号表示[1]分隔符的简写。
  5. 子脚本数组处理:
    • 末尾1可移除,如/# [A] 1 = /#,[X # [A] 1] = [X #]。
    • 当[A] < [B]时,/# [A] 1 [B] #* = /# [B] #*,[X # [A] 1 [B] #*] = [X # [B] #*]。
  6. 极限序数:本符号系统的极限序数为θ(Ω_Ω),通过 Extended Kruskal Theorem 和 Buchholz Hydras 可达
  7. 规则适用范围
    • 简单嵌套数组至ε0无需规则A2和A5a-e。
    • 以下序数需对应规则和分隔符:
    • ε0: [1 / 2](规则A5c)
    • φ(ω, 0): [1 [2 /2 2] 2](规则A2)
    • Γ0: [1 [1 / 2 /2 2] 2](规则A5e)
    • θ(Ω_ω): [1 [2 /1,2 2] 2](规则A5d)
    • θ(Ω_ω+1): [1 [1 /1,2 3] 2](规则A5a)
    • θ(Ω_(ω^ω)+1): [1 [1 /1 [2] 2 3] 2](规则A5b)
  8. 三步算法:规则A5a中,算法通过比较[Bj]和[Dj]层级确定Nn,s,直至找到解。