Mountain Notation:修订间差异
更多操作
小无编辑摘要 |
无编辑摘要 |
||
第1行: | 第1行: | ||
== 前定义 == | |||
山脉系列的矩阵由列组成,它可以表示为 <math>A_1A_2\cdots A_{n-1}A_n</math> 的形式,其中 <math>A_i</math> 为各列,<math>n</math> 是非负整数。把所有列从左到右列出来,列标大为右,最左列的列标是 1。 | 山脉系列的矩阵由列组成,它可以表示为 <math>A_1A_2\cdots A_{n-1}A_n</math> 的形式,其中 <math>A_i</math> 为各列,<math>n</math> 是非负整数。把所有列从左到右列出来,列标大为右,最左列的列标是 1。 | ||
第26行: | 第26行: | ||
* 减一操作:在 Y 系列记号中就是简单的把原序列最右元素减去 1,但在山脉系列记号则稍显复杂,而且与具体的记号有关。 | * 减一操作:在 Y 系列记号中就是简单的把原序列最右元素减去 1,但在山脉系列记号则稍显复杂,而且与具体的记号有关。 | ||
== 定义 == | |||
=== ωMN === | |||
ω 山脉记号(ωMN)是将 ω-Y 的山脉图显式写出,并作些简化得到的记号。 | ω 山脉记号(ωMN)是将 [[ω-Y]] 的山脉图显式写出,并作些简化得到的记号。 | ||
定义分隔符:分隔符是多重逗号(连续写正整数个逗号),分隔符的大小关系就是逗号数量的大小关系。 | 定义分隔符:分隔符是多重逗号(连续写正整数个逗号),分隔符的大小关系就是逗号数量的大小关系。 | ||
第65行: | 第65行: | ||
magma 元素 a。从 a 沿右腿向上一格,到达的元素 x 是待复制的源元素。它可能复制成一个或更多个目标元素。找到 a 所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。此类复制,目标元素的值等于 x 的值加上 w · m,其中是 w 复制宽度,m 是延伸的编号。对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为 K。于是目标元素的分隔符是 K。对于最上端的参考元素,目标元素的分隔符与 x 相同。 | magma 元素 a。从 a 沿右腿向上一格,到达的元素 x 是待复制的源元素。它可能复制成一个或更多个目标元素。找到 a 所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。此类复制,目标元素的值等于 x 的值加上 w · m,其中是 w 复制宽度,m 是延伸的编号。对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为 K。于是目标元素的分隔符是 K。对于最上端的参考元素,目标元素的分隔符与 x 相同。 | ||
=== TωMN === | |||
超限 ωMN(Transfinite ω Mountain Notation, TωMN)是 ωMN 的简单扩展,它有 Ω 行的结构。TωMN 之于 ωMN,就好比 Ω 行 BMS 之于 [[Bashicu矩阵|BMS]],它应该说算是一种比较弱的扩展。 | 超限 ωMN(Transfinite ω Mountain Notation, TωMN)是 ωMN 的简单扩展,它有 Ω 行的结构。TωMN 之于 ωMN,就好比 Ω 行 BMS 之于 [[Bashicu矩阵|BMS]],它应该说算是一种比较弱的扩展。 | ||
第95行: | 第95行: | ||
其展开流程与 ωMN 完全相同。 | 其展开流程与 ωMN 完全相同。 | ||
=== MωMN === | |||
变异 ωMN(Mutant ω mountain notation,MωMN)是 ωMN 的改版,增加了一点急模式的特质,但更类似于 mutant matrix,而不像 hyper matrix、sudden matrix 那样整块地比较矩阵大小。 | 变异 ωMN(Mutant ω mountain notation,MωMN)是 ωMN 的改版,增加了一点急模式的特质,但更类似于 mutant matrix,而不像 hyper matrix、sudden matrix 那样整块地比较矩阵大小。 | ||
第113行: | 第113行: | ||
每一轮延伸的步骤如下:首先确定右上角、根列元素、复制部分、复制宽度、magma 元素。然后做减一操作。然后确定参考元素。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。每一列的处理过程,与 ωMN 相同。 | 每一轮延伸的步骤如下:首先确定右上角、根列元素、复制部分、复制宽度、magma 元素。然后做减一操作。然后确定参考元素。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。每一列的处理过程,与 ωMN 相同。 | ||
=== MTωMN === | |||
既然有 MωMN 、有 TωMN ,那么接下来,mutant transfinite ω mountain notation(MTωMN ),就融入了"mutant"与"transfinite"两种特质。实质上它是在 TωMN 的基础上,改用 mutant 的方法来找根元素。MTωMN 的分隔符、简单规则都与 TωMN 相同。 | 既然有 MωMN 、有 TωMN ,那么接下来,mutant transfinite ω mountain notation(MTωMN ),就融入了"mutant"与"transfinite"两种特质。实质上它是在 TωMN 的基础上,改用 mutant 的方法来找根元素。MTωMN 的分隔符、简单规则都与 TωMN 相同。 | ||
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作之类的概念了。根元素的定义与 MωMN 完全相同。减一操作的定义与 TωMN 完全相同。展开流程与 MωMN 完全相同。 | 如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作之类的概念了。根元素的定义与 MωMN 完全相同。减一操作的定义与 TωMN 完全相同。展开流程与 MωMN 完全相同。 | ||
=== Dω·2MN === | |||
defective ω·2 mountain notation(Dω·2MN)是ω·2 mountain notation的一个尝试。ω·2 mountain notation的含义,是有ω·2种分隔符。 | |||
已知Y和TBMS都是BMS的扩展,前者只有ω^2行的结构却能远远超越后者的Ω行结构(不止如此,前者甚至还没有用完ω+1行结构,就已经在Y(1,3,4,2,5,8,10)处达到后者的<math>\Omega</math>行结构)。归根结底,这是由于Y具有一种特别的、TBMS不具有的提升。TBMS中,极限序数行只意味着最右列会变为极限序数下的大行标,而非最右列没有行标的增长。Y中,最右列出现极限序数行时,不论是最右列还是非最右列,都存在行标的增加。Y的这种现象称作eruption。同样,为了真正强烈地超越ωMN,而不是像TωMN那样弱,需要引入一种新型的提升:拉伸。在TωMN中,极限序数行只意味着最右列的分隔符会变为极限序数下的大分隔符,而非最右列的分隔符没有增长。接下来,在Dω·2MN(或者其它>ω mountain notation)中,最右列出现极限序数行时,不论是最右列还是非最右列,都存在分隔符的增加。分隔符的增加意味着同列相邻元素的距离变远了,“拉伸”因而得名。 | |||
定义分隔符: | |||
分隔符由两部分组成:(写在左边)0~1个分号、(写在右边)非负整数个逗号。 | |||
分隔符的大小关系:两分隔符相比,先比其分号数,如果不等,则得出结果;如果分号数相等,再比逗号数,逗号数的比较结果就是分隔符的比较结果。规定第0行元素具有0个分号、0个逗号组成的分隔符。它仍在第0行(行标为[])。以逗号结尾的分隔符称作后继分隔符(其前继是它去掉结尾的逗号)。否则称作极限分隔符。在本记号中,非空极限分隔符只有“;”一种。 | |||
其简单规则如下 | |||
# 零规则:<math>[n]=n</math> | |||
# 后继规则:<math>A_1A_2\cdots A_X()[n]=A_1A_2\cdots A_X[n^2]</math> | |||
主流表达式:<math>f(n)=()(;,,\cdots,,1)[n]</math>.由主流表达式展开,用简单规则得到的矩阵都是标准式。 | |||
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、参考元素、减一操作之类的概念了。对于>ω mountain notation而言,还要定义拉伸相关的概念。 | |||
定义根元素:从右上角出发,沿左腿向左下一步,就到达根元素。(其实这个根元素的定义与ωMN相同) | |||
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符“;”。如果根列元素的分隔符≥顶元素的分隔符,则拉伸阈是1重逗号。设根列元素的分隔符是n重逗号,则拉伸阈是n+1重逗号。 | |||
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈,设拉伸阈是n重逗号,最上参考元素的分隔符是m重逗号,则拉伸量为m-n+1。其它情况,拉伸量为0。 | |||
定义减一操作:按下列步骤修改矩阵。 | |||
# 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素具有分隔符A、行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。 | |||
# 判断M的种类: | |||
## M是1重逗号。删掉右上角,然后跳到(外层的)第3步。 | |||
## M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。 | |||
## M是极限分隔符“;”。 | |||
### 如果A≥M则令j=1。否则设A是i重逗号,则令j=i+1。 | |||
### 如果α<β且B是≥j重逗号,则删掉右上角;否则把右上角的分隔符从M改为j重逗号。 | |||
### 跳到第3步。 | |||
# 把根元素上方的元素(不含根元素)都复制到最右列上方。 | |||
以下是展开流程: | |||
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。最后去掉最右列,才完成整个展开流程。 | |||
每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。 | |||
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。 | |||
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它只能复制成一个目标元素。 | |||
如果x的值小于根列的列标,那么目标元素的值与x相同。 | |||
如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。 | |||
如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 | |||
否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。 | |||
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。 | |||
此类复制,目标元素的值等于x的值加上复制宽度。 | |||
对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。 | |||
对于最上端的参考元素。 | |||
如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 | |||
否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。 | |||
注意到减一操作可能引入左腿跨越“非ω的次方”行,即M是分号、α+(j重逗号)≤β、但B<j重逗号的情况。这是ωMN、TωMN没有的情况。在此情况下,右上角的分隔符从M改成了j重逗号,形成新的元素m。这个元素m,今后它作为某个根列元素时,在拉伸的判断下显得像j重逗号。然而,元素m在展开时,其分隔符却显示出比“β与α的差值”还要大的跨度。这种不匹配的错位(defect)也直接地表现为“左腿跨越非ω的次方行”。 | |||
典型例子: | |||
<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,7;5)</math>,粗体为根元素。 | |||
初次减一后得<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,7,,5)</math>,粗体为根元素及其对应的最上参考元素。 | |||
第一轮延伸时,拉伸阈为2重逗号,拉伸量为1。得到<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,7,,5)(,8,,8,8,,8;8)(,9,,9,9,,9,,,9;8)(,10,,10,10,,10,,,10,10;8)</math>,粗体为根元素。 | |||
最终展开为<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,7,,5)(,8,,8,8,,8;8)(,9,,9,9,,9,,,9;8)(,10,,10,10,,10,,,10,10,,,8)(,11,,11,11,,11,,,11,11,,,11;11)(,12,,12,12,,12,,,12,12,,,12,,,,12;11)(,13,,13,13,,13,,,13,13,,,13,,,,13,13,,,,11)\cdots\cdots</math> | |||
关于它的强度以及相对于<math>T\omega MN</math>的提升,参见词条[[TωMN VS ω·2MN]] | |||
=== Aω·2MN === | |||
astral ω·2 mountain notation(Aω·2MN)是ω·2 mountain notation的另一个尝试。 | |||
在Dω·2MN中,每个根列元素都成了拉伸的判断依据。要与之匹配,则减一操作时,根元素对应的最上参考元素必须按Dω·2MN定义中的那种方式变化,才能让每次最右列出现极限分隔符时有合理的拉伸。然而,还有一种方式来判断拉伸的依据。这种方式需要让一部分元素“不作为判断拉伸的依据”,因此判断的时候要跳过它们,找它们下方的元素。这些元素要有额外的标记,这里就用星号(*)来表示。 | |||
于是,每个元素由三部分构成:值、分隔符、星标。值是正整数,代表该元素向左下伸出的左腿要跨越到第几列(左腿元素的行标则小于本元素,且左腿元素是满足条件的所有元素之中的最上者)。分隔符代表元素与它下方一格元素的行标差,这个行标差总是ω的次方。星标是只有“有”“无”取值的布尔值,代表本元素作为判断拉伸的依据之否定。元素的写法是先写分隔符,再(如果有星标则写星号,否则不写任何东西),再写值。 | |||
分隔符的定义与Dω·2MN相同。简单规则与Dω·2MN相同。 | |||
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、参考元素、减一操作、拉伸阈、拉伸量之类的概念了。对于Aω·2MN,还有额外的标记操作。 | |||
根元素的定义与ωMN相同。 | |||
定义函数S(a),其中a是元素。如果a有星标,则S(a)是S(a沿右腿向下一格),否则S(a)是a的分隔符。 | |||
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符“;”。如果S(根列元素)≥顶元素的分隔符,则拉伸阈是1重逗号。设S(根列元素)是n重逗号,则拉伸阈是n+1重逗号。 | |||
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。 | |||
其它情况,作下列流程: | |||
# 从最上参考元素出发。 | |||
# 如果当前元素与根列元素同行,则拉伸量为0。结束流程。 | |||
# 设当前元素的分隔符是M。 | |||
# 如果顶元素分隔符>M≥拉伸阈,设M是m重逗号,拉伸阈是n重逗号,则拉伸量为m-n+1。结束流程。 | |||
# 沿右腿向下一格。回到步骤2。 | |||
定义减一操作:按下列步骤修改矩阵。 | |||
# 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素a具有行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。 | |||
# 判断M的种类: | |||
## M是1重逗号。删掉右上角,然后跳到(外层的)第3步。 | |||
## M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。 | |||
## M是极限分隔符“;”。 | |||
### 如果S(a)≥M则令M'是1重逗号。否则设S(a)是i重逗号,则令M'是i+1重逗号。 | |||
### 如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。 | |||
### 跳到第3步。 | |||
# 把根元素上方的元素(不含根元素)都复制到最右列上方。 | |||
定义标记操作:对于每一对(根列元素,顶元素),都按下列步骤修改矩阵。 | |||
# 从最上参考元素出发。 | |||
# 如果当前元素与根列元素同行,则结束流程。 | |||
# 设当前元素的分隔符是M。 | |||
# 如果M<拉伸阈,则把当前元素设为“有星标”。 | |||
# 如果顶元素>M≥拉伸阈,则结束流程。 | |||
# 沿右腿向下一格。回到步骤2。 | |||
以下是展开流程: | |||
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。最后去掉最右列,才完成整个展开流程。 | |||
每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量,再做标记操作。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。 | |||
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。 | |||
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它只能复制成一个目标元素。 | |||
如果x的值小于根列的列标,那么目标元素的值与x相同。 | |||
如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。 | |||
如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。 | |||
目标元素的星标与x相同。 | |||
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。 | |||
此类复制,目标元素的值等于x的值加上复制宽度。 | |||
对于不是最上端的参考元素,沿右腿向上一格,到达一个元素k。于是目标元素的分隔符、星标与k相同。 | |||
对于最上端的参考元素。如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。 | |||
目标元素的星标与x相同。 | |||
在Dω·2MN中,每个根列元素都成了拉伸的判断依据;与之匹配的是最上端的参考元素。 | |||
而在Aω·2MN中,最上端的参考元素可能不够大,便用它下方最近的“足够大”的参考元素作为拉伸的判断依据。由此,要想与之匹配,根列元素就需要星标,延续“它下方最近的足够大的参考元素”这一思想。 | |||
典例分析:<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,7;5)</math>,粗体为根元素。 | |||
减一后得<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,7)</math>,粗体为根元素及其对应的最上参考元素。 | |||
拉伸阈为2重逗号,拉伸量为1。 | |||
标记后得<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,*7)</math>。然后延伸出更多列。 | |||
最终展开为<math>()(;1)(,2;1)(,3,3)(,1)(,5;5)(,6,,6;5)(,7,,7,*7)(,8,,8,*8;8)(,9,,9,*9,,,9;8)(,10,,10,*10,,,10,*10)(,11,,11,*11,,,11,*11;11)(,12,,12,*12,,,12,*12,,,,12;11)(,13,,13,*13,,,13,*13,,,,13,*13)</math>…… | |||
=== <math>D\omega^2MN</math> === | |||
defective ω^2 mountain notation(Dω^2MN)是Dω·2MN的进一步扩展,是ω^2MN的一种尝试。因为astral型定义比较复杂,所以我选用了defective型的定义。虽不太完美,但好在定义比astral简单一点点。ω^2MN,意思是有ω^2种分隔符的mountain notation。 | |||
Dω·2MN有一种极限分隔符“;”,由此有一种拉伸:一部分小于分号的分隔符(有拉伸阈的要求)扩大了,但仍小于分号。在ω^2MN中,那就有ω种极限分隔符,它们是n重分号,由此有拉伸:一部分小于n重分号的分隔符(有拉伸阈的要求)扩大了,但仍小于n重分号。 | |||
定义分隔符:分隔符由两部分组成:(写在左边)非负整数个分号、(写在右边)非负整数个逗号。分隔符的大小关系:两分隔符相比,先比其分号数,如果不等,则得出结果;如果分号数相等,再比逗号数,逗号数的比较结果就是分隔符的比较结果。规定第0行元素具有0个分号、0个逗号组成的分隔符。它仍在第0行(行标为[])。以逗号结尾的分隔符称作后继分隔符(其前继是它去掉结尾的逗号)。否则称作极限分隔符。 | |||
简单规则与Dω·2MN相同。主流表达式:<math>f(n)=()(;;;\cdots;;1)[n]</math>.由主流表达式展开,用简单规则得到的矩阵都是标准式。 | |||
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作、拉伸阈、拉伸量之类的概念了。 | |||
对于极限分隔符M=n重分号,记M[i] = n-1重分号后跟i重逗号(i只取正整数)。 | |||
根元素的定义与ωMN相同——从右上角出发,沿左腿向左下一步,就到达根元素。 | |||
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符——设它是M。如果根列元素的分隔符≥M,则拉伸阈是M[1]。如果根列元素的分隔符<M,则拉伸阈是M[n],其中n是使得“M[i]>根列元素的分隔符”的最小正整数i。 | |||
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈:设拉伸阈是n重分号后跟m重逗号,最上参考元素的分隔符是n重分号后跟k重逗号,则拉伸量为k-m+1。其它情况,拉伸量为0。 | |||
定义减一操作:按下列步骤修改矩阵。 | |||
# 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素具有分隔符A、行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。 | |||
# 判断M的种类: | |||
## M是1重逗号。删掉右上角,然后跳到(外层的)第3步。 | |||
## M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。 | |||
## M是极限分隔符。 | |||
### 如果A≥M则令j=1。否则令j=(使得“M[i]>A”的最小正整数i)。 | |||
### 如果α<β且B≥M[j],则删掉右上角;否则把右上角的分隔符从M改为M[j]。 | |||
### 跳到第3步。 | |||
# 把根元素上方的元素(不含根元素)都复制到最右列上方。 | |||
以下是展开流程: | |||
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。最后去掉最右列,才完成整个展开流程。 | |||
每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。 | |||
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。 | |||
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它只能复制成一个目标元素。 | |||
确定目标元素的值: | |||
# 如果x的值小于根列的列标,那么目标元素的值与x相同。 | |||
# 如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。 | |||
确定目标元素的分隔符: | |||
# 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 | |||
# 否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。 | |||
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。 | |||
确定目标元素的值: | |||
此类复制,目标元素的值等于x的值加上复制宽度。 | |||
确定目标元素的分隔符: | |||
# 对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。 | |||
# 对于最上端的参考元素。 | |||
## 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 | |||
## 否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。 | |||
=== <math>D\omega^\omega MN</math> === | |||
defective ω^ω mountain notation(Dω^ωMN)是Dω^2MN的进一步扩展,是ω^ωMN的一种尝试。 | |||
Dω^ωMN中的分隔符有ω^ω种。其中,第<math>\alpha+1</math>种都是后继分隔符;第<math>\alpha+\omega</math>种分隔符与Dω^2MN中的分隔符类似,以它为顶元素发生拉伸的时候,被拉伸的分隔符总是在末尾添加若干个逗号(即分隔符的种类序数增加一个正整数);而更大的第<math>\alpha+\omega^2</math>种分隔符则是新东西,以它为顶元素发生拉伸的时候,被拉伸的分隔符要从第<math>\alpha+\omega\times n+m</math>种分隔符拉伸到第<math>\alpha+\omega\times(n+k)+m</math>种分隔符,这不是简单的“加一个序数”,而是连末尾的整数部分也保留着。 | |||
由于分隔符的种类较多,Dω^ωMN将像TωMN那样,用记号自身来表达分隔符。只不过,分隔符的大小有上限。 | |||
定义分隔符:分隔符是小于<math>()(,1)(,2)</math>的非空矩阵。分隔符也可以简写为n重逗号。 | |||
(以下分隔符概念与TωMN相同) | |||
元素的大小比较:两元素相比,先比其值,如果值不等,则得出结果;如果值相等,再比分隔符,分隔符的比较结果就是元素的比较结果。 | |||
列的大小比较:以元素为单位,按字典序比较。 | |||
矩阵的大小比较(也就是分隔符的大小比较):以列为单位,按字典序比较。 | |||
规定第0行元素具有空矩阵分隔符。它仍在第0行(行标为[])。 | |||
以结尾的分隔符称作后继分隔符(其前继是它去掉结尾的)。否则称作极限分隔符。 | |||
简单规则与Dω·2MN相同。主流表达式:<math>f(n)=()(,1)(,2()(,1)(,1)\cdots(,1)2)[n]</math>.由主流表达式展开,用简单规则得到的矩阵都是标准式。 | |||
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作、拉伸阈、拉伸量之类的概念了。 | |||
对于分隔符M而言,它可以作为矩阵长展开为M[n](n为非负整数),我们也定义长展开的M[-1]是M去掉根列右侧(不含根列)的所有列。以下所有定义中,M[n]都采用长展开而非短展开。 | |||
根元素的定义与ωMN相同——从右上角出发,沿左腿向左下一步,就到达根元素。 | |||
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符——设它是M。如果根列元素的分隔符≥M,则拉伸阈是M[-1]。如果根列元素的分隔符<M,则拉伸阈是M[n],其中n是满足“M[n]>根列元素的分隔符”的最小值。 | |||
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈:设顶元素分隔符是M,拉伸阈是M[n],最上参考元素的分隔符是K,k是满足“K≥M[k]”的最大值,则拉伸量为k-n+1。其它情况,拉伸量为0。 | |||
定义减一操作:按下列步骤修改矩阵。 | |||
# 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素具有分隔符A、行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。 | |||
# 判断M的种类: | |||
## M是1重逗号。删掉右上角,然后跳到(外层的)第3步。 | |||
## M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。 | |||
## M是极限分隔符。 | |||
### 如果A≥M则令j=-1。否则令j=(使得“M[i]>A”的最小i)。 | |||
### 如果α<β且B≥M[j],则删掉右上角;否则把右上角的分隔符从M改为M[j]。 | |||
### 跳到第3步。 | |||
# 把根元素上方的元素(不含根元素)都复制到最右列上方。 | |||
以下是展开流程 | |||
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。延伸完毕后,如果是长展开,则再做一次减一操作;如果是短展开,则去掉最右列。这才完成整个展开流程。 | |||
每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。 | |||
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。 | |||
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素(分隔符为X)。它只能复制成一个目标元素。 | |||
确定目标元素的值: | |||
# 如果x的值小于根列的列标,那么目标元素的值与x相同。 | |||
# 如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。 | |||
确定目标元素的分隔符: | |||
# 如果X大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符是X。 | |||
# 否则,记顶元素分隔符为M、拉伸量为k。 | |||
# 设s满足“X≤M[s]”。从最左列数起,X与M[s]的最长公共部分(一整列一整列地数)为N。再取t是满足“M[t]是X从最左列开始的部分”的最大值,Y是X去掉M[t]后剩余的部分。 | |||
# 设M的根列在第u列。将Y中所有大于等于u的元素值都加上(M的复制宽度)·k。 | |||
# 于是,目标元素的分隔符是“M[t+k]右边跟着Y”。 | |||
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。 | |||
确定目标元素的值: | |||
此类复制,目标元素的值等于x的值加上复制宽度。 | |||
确定目标元素的分隔符: | |||
# 对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。 | |||
# 对于最上端的参考元素。 | |||
## 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 | |||
## 否则,设x的分隔符是X,记顶元素分隔符为M、拉伸量为k。 | |||
## 设s满足“X≤M[s]”。从最左列数起,X与M[s]的最长公共部分(一整列一整列地数)为N。再取t是满足“M[t]是X从最左列开始的部分”的最大值,Y是X去掉M[t]后剩余的部分。 | |||
## 设M的根列在第u列。将Y中所有大于等于u的元素值都加上(M的复制宽度)·k。 | |||
## 于是,目标元素的分隔符是“M[t+k]右边跟着Y”。 | |||
=== <math>T\omega^\omega MN</math> === | |||
transfinite ω^ω mountain notation(Tω^ωMN)是Dω^ωMN的进一步扩展。不确定更高层次的αMN是否需要更“新型”的提升/eruption/拉伸/etc.概念才能完成。这里暂用transfinite这个形容词来表示分隔符种类之多——Tω^ωMN中的分隔符种类数与该记号的极限相当。 | |||
看到这里,我们知道,Tω^ωMN最关键的问题在于如何拉伸。我们仍规定只有当 顶元素分隔符>待拉伸分隔符≥拉伸阈 的时候才有可能拉伸。所有其他定义都要配合这一准则。 | |||
一个非平凡的拉伸发生在“顶元素具有第ω^ω种分隔符”的情形。被拉伸的分隔符要从第<math>\omega^n</math>种分隔符拉伸到第<math>\omega^{n+k}</math>种分隔符。 | |||
但如果分隔符的种类序数不是ω的整次方呢?比如,被拉伸的分隔符是第<math>\omega^n\times2</math>种分隔符,按照Dω^ωMN的拉伸方法,它将变成第<math>\omega^{n+k}+\omega^n</math>种分隔符,只取“最左侧”的一个部分发生拉伸。 | |||
另一个非平凡的拉伸发生在“顶元素具有分隔符<math>()(,1)(,2,,2)</math>”的情形。此时分隔符在展开时出现eruption,那么拉伸就不是按照Dω^ωMN定义的那种“仅仅向右平移、元素值增加”能完成的了。我们需要把被拉伸的分隔符也纳入顶元素分隔符的延伸过程中,把(被拉伸的分隔符中的)根列右方的列当作被复制的东西,连同主要的延伸过程一起复制、一起向右移动、一起eruption、一起拉伸。 | |||
Tω^ωMN的分隔符与TωMN相同。 | |||
简单规则与Dω·2MN相同。主流表达式:<math>f(n)=A_n[n],\text{其中}A_0=(),A_i=A_{i-1}(A_0iA_1i\cdots A_{i-1}i)</math>.由主流表达式展开,用简单规则得到的矩阵都是标准式。 | |||
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作、拉伸阈、拉伸量之类的概念了。 | |||
对于分隔符M而言,它可以作为矩阵长展开为M[n](n为非负整数),我们也定义长展开的M[-1]是M去掉根列右侧(不含根列)的所有列。以下所有定义中,M[n]都采用长展开而非短展开。此外,对于分隔符M>N而言,把它们作为矩阵,可以将M延伸,同时N作为“附加列”也一起延伸。带附加列的延伸流程将在“展开流程”一节阐述。 | |||
根元素的定义与ωMN相同——从右上角出发,沿左腿向左下一步,就到达根元素。 | |||
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符——设它是M。如果根列元素的分隔符≥M,则拉伸阈是M[-1]。此时定义预拉伸量为0。如果根列元素的分隔符<M,则拉伸阈是M[n],其中n是满足“M[n]>根列元素的分隔符”的最小值。此时定义预拉伸量为n+1。 | |||
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈:设顶元素分隔符是M,预拉伸量是n,最上参考元素的分隔符是K,k是满足“M[k]>K”的最小值,则拉伸量为k-n+1。其它情况,拉伸量为0。 | |||
减一操作的定义与Dω^ωMN相同。 | |||
以下是展开流程: | |||
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。 | |||
延伸完毕后,如果是长展开,则再做一次减一操作;如果是短展开,则去掉最右列。这才完成整个展开流程。 | |||
每一轮延伸,可能是单独一个矩阵的延伸,也可能是“A附加B延伸”(A、B都是矩阵。此处A称作主矩阵,B称作附加矩阵)。步骤如下: | |||
# 首先是附加矩阵的预处理。A、B的最长公共部分(一整列一整列地数)记作C。B删去C这个部分,余下的部分作为后续步骤中的“附加矩阵”。 | |||
# 主矩阵确定右上角、根列元素、顶元素、复制部分、复制宽度。 | |||
# 附加矩阵的复制部分是根列以右(不含根列)的所有列,列标甚至能超过主矩阵的列数。 | |||
# 主矩阵、附加矩阵都(按照主矩阵的根列元素)确定magma元素。 | |||
# 主矩阵做减一操作,不含附加矩阵。 | |||
# 主矩阵确定参考元素、拉伸阈、预拉伸量、拉伸量。 | |||
# 从左到右逐列地把主矩阵、附加矩阵复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。 | |||
# 如果要得到附加矩阵D,那么把“现有的附加矩阵”作为D最右边的部分,D左边空余的列从主矩阵取得。 | |||
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。 | |||
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素(分隔符为X)。它只能复制成一个目标元素。 | |||
确定目标元素的值: | |||
# 如果x的值小于根列的列标,那么目标元素的值与x相同。 | |||
# 如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。 | |||
确定目标元素的分隔符: | |||
# 如果X大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符是X。 | |||
# 否则,记顶元素分隔符为M、预拉伸量为m、拉伸量为k。M延伸m轮得到N。目标元素的分隔符是“N附加X延伸”k轮之后得到的附加矩阵。 | |||
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。 | |||
确定目标元素的值: | |||
此类复制,目标元素的值等于x的值加上复制宽度。 | |||
确定目标元素的分隔符: | |||
# 对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。 | |||
# 对于最上端的参考元素。 | |||
## 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 | |||
## 否则,设x的分隔符是X,记顶元素分隔符为M、预拉伸量为m、拉伸量为k。M延伸m轮得到N。目标元素的分隔符是“N附加X延伸”k轮之后得到的附加矩阵。 | |||
=== 与 Y 系列记号的区别 === | === 与 Y 系列记号的区别 === |
2025年8月21日 (四) 08:36的版本
前定义
山脉系列的矩阵由列组成,它可以表示为 的形式,其中 为各列, 是非负整数。把所有列从左到右列出来,列标大为右,最左列的列标是 1。
列由元素组成,它可以表示为 的形式,其中 为各元素, 是非负整数。把所有元素从下到上列出来,行标大为上,每一列还额外存在一个元素,位于最下端的行标 0 处。
元素由两部分构成:值、分隔符。值是正整数,代表该元素向左下伸出的左腿要跨越到第几列(左腿元素的行标则小于本元素,且左腿元素是满足条件的所有元素之中的最上者)。分隔符代表元素与它下方一格元素的行标差,这个行标差总是 的次方,于是该次方数称作本元素的维度(其实维度、分隔符也就是一个意思)。元素的写法是先写分隔符,再写值。至于分隔符的具体表达,则与具体的记号有关。
为了可计算地表达行标,它需要一个记号。(每一列最下端元素的)行标 0 用表达。如果一个元素 的行标是 ,它上方一格元素 的分隔符是 ,那么 的行标则是 。此处的“+”是“行标加”运算,其定义如下:
行标的大小比较方式为以分隔符为单位,按字典序比较。至于分隔符的大小关系,则与具体的记号有关。
山脉系列记号同样沿用了山脉图中的一些概念。
- 父元:从一个元素 a 出发,先沿右腿向上一格,再沿左腿向左下一步,就到达 a 的父元。
- 祖先:“父元”关系的传递闭包。此处祖先不含自身。
- 后代:如果 a 是 b 的祖先,那么 b 是 a 的后代。
- 右上角:最右列中最上端的元素。
- 根元素与具体的记号有关。
- 根元素所在的列是根列,但根列元素并非其字面含义。
- 根列元素指的是根元素及其下方所有元素。注意:不含根元素上方的元素!
- 参考元素与具体的记号有关。但一般而言,一个根列元素会对应一个或更多个参考元素。
- 复制部分是根列以右(不含)、最右列以左(含)的部分。其宽度称为复制宽度。
- magma 元素:任何一个根列元素 a 都对应一个或更多个 magma 元素。a 对应的 magma 元素是(在复制部分中)a 的同行后代。这样的对应可以用到所有根列元素上。把这些 magma 元素都收集起来,就是所有的 magma 元素了。
- 减一操作:在 Y 系列记号中就是简单的把原序列最右元素减去 1,但在山脉系列记号则稍显复杂,而且与具体的记号有关。
定义
ωMN
ω 山脉记号(ωMN)是将 ω-Y 的山脉图显式写出,并作些简化得到的记号。
定义分隔符:分隔符是多重逗号(连续写正整数个逗号),分隔符的大小关系就是逗号数量的大小关系。
ωMN 的简单规则如下:
- 零规则:
- 后继规则:
其主流表达式为:。由主流表达式展开简单规则所得的矩阵都是标准表达式。
如果一个表达式不能按简单规则处理,就执行一次展开,此时就需要定义根元素、参考元素、减一操作之类的概念。
- 定义根元素:从右上角出发,沿左腿向左下一步,就到达根元素。
- 定义顶元素:除了第 0 行元素以外,其它根列元素都是顶元素。此外,右上角也是顶元素。于是顶元素、根列元素数量相等。二者都从下到上排列,于是形成一一对应。
- 定义参考元素:每一对(根列元素, 顶元素)都对应一个或更多个参考元素。最右列之中,行标(大于等于根列元素行标)且(小于顶元素行标)的那些元素,就是这个配对对应的(也可以说:根列元素对应的)参考元素。
定义减一操作:按下列步骤修改矩阵。
- 设右上角的分隔符是 k 重逗号。右上角沿左腿向左下走一步,到达行标 A;右上角沿右腿向下一格,到达行标 B。
- 如果 k = 1,则删掉右上角,然后跳到第 4 步。如果 k > 1,继续第 3 步。
- 如果 A + (k − 1 重逗号 ) ≤ B,则删掉右上角,否则把右上角的分隔符从 k 重逗号改为 k − 1 重逗号。
- 把根元素上方的元素(不含根元素)都复制到最右列上方。
展开流程如下:
首先确定右上角、根列元素、顶元素。然后做减一操作。然后确定复制部分、复制宽度、magma 元素。对于矩阵 [n],接下来要做 n 轮延伸,每一轮延伸都有编号:1, 2, . . . , n。
每一轮延伸的步骤如下:
先确定参考元素(注意,此时的矩阵可能已经做了若干延伸,而不再是原来的矩阵或者减一之后的矩阵)。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。对于每一个“源元素列”的复制,从下到上应对那些元素。第 0 行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。
非 magma 元素 a。从 a 沿右腿向上一格,到达的元素 x 是待复制的源元素。它只能复制成一个目标元素。此类复制,目标元素的分隔符与 x 相同。如果 x 的值小于根列的列标,那么目标元素的值与 x 相同。如果 x 的值大于等于根列的列标,那么目标元素的值等于 x 的值加上 w · m,其中是 w 复制宽度,m 是延伸的编号。
magma 元素 a。从 a 沿右腿向上一格,到达的元素 x 是待复制的源元素。它可能复制成一个或更多个目标元素。找到 a 所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。此类复制,目标元素的值等于 x 的值加上 w · m,其中是 w 复制宽度,m 是延伸的编号。对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为 K。于是目标元素的分隔符是 K。对于最上端的参考元素,目标元素的分隔符与 x 相同。
TωMN
超限 ωMN(Transfinite ω Mountain Notation, TωMN)是 ωMN 的简单扩展,它有 Ω 行的结构。TωMN 之于 ωMN,就好比 Ω 行 BMS 之于 BMS,它应该说算是一种比较弱的扩展。
定义分隔符:分隔符是非空矩阵。分隔符 也可以简写为 n 重逗号。
元素的大小比较:两元素相比,先比其值,如果值不等,则得出结果;如果值相等,再比分隔符,分隔符的比较结果就是元素的比较结果。
列的大小比较:以元素为单位,按字典序比较。
矩阵的大小比较(也就是分隔符的大小比较):以列为单位,按字典序比较。
其简单规则如下:
- 零规则:
- 后继规则:
- 极限维度规则:如果右上角的分隔符是” 最右列不是 ( )” 的矩阵,那么展开此分隔符。
主流表达式:,其中 。
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、参考元素、减一操作之类的概念了。根元素、参考元素的定义与 ωMN 相同。
定义减一操作:按下列步骤修改矩阵。
- 设右上角的分隔符是 。右上角沿左腿向左下走一步,到达行标 A;右上角沿右腿向下一格,到达行标 B 。
- 如果 X = 0 ,则删掉右上角,然后跳到第 4 步。如果 X > 0 ,继续第 3 步。
- 如果 ,则删掉右上角,否则把右上角的分隔符从 改为 。
- 把根元素上方的元素(不含根元素)都复制到最右列上方。
其展开流程与 ωMN 完全相同。
MωMN
变异 ωMN(Mutant ω mountain notation,MωMN)是 ωMN 的改版,增加了一点急模式的特质,但更类似于 mutant matrix,而不像 hyper matrix、sudden matrix 那样整块地比较矩阵大小。
MωMN 的分隔符、简单规则都与 ωMN 相同。
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、参考元素、减一操作之类的概念了。
- 按下列流程确定根元素:从右上角出发。设右上角的分隔符是 k 重逗号。如果 k = 1,那么沿左腿向左下走一步。到达的元素就是根元素。如果 k > 1,则继续后续的步骤。沿左腿向左下走一步。如果当前元素在第 0 行,则令 i = 0,否则设当前元素的分隔符是 i 重逗号。如果 i ≥ k,则回到步骤 3。否则,当前元素就是根元素。
- 定义参考元素:对于不是根元素的根列元素 a,从 a 沿右腿向上一格,到达根列元素 b。最右列之中,行标(大于等于 a 行标)且(小于 b 行标)的那些元素,就是 a 对应的参考元素。根元素对应的参考元素,是最右列之中,行标(大于等于根元素行标)且(小于等于“从右上角沿右腿向下一格到达的元素”的行标)的那些元素。
减一操作的定义与 ωMN 相同。
其展开流程如下:
对于矩阵 [n],接下来要做 n 轮延伸。每一轮延伸都有编号:1, 2, . . . , n。最后去掉最右列,才完成整个展开流程。
每一轮延伸的步骤如下:首先确定右上角、根列元素、复制部分、复制宽度、magma 元素。然后做减一操作。然后确定参考元素。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。每一列的处理过程,与 ωMN 相同。
MTωMN
既然有 MωMN 、有 TωMN ,那么接下来,mutant transfinite ω mountain notation(MTωMN ),就融入了"mutant"与"transfinite"两种特质。实质上它是在 TωMN 的基础上,改用 mutant 的方法来找根元素。MTωMN 的分隔符、简单规则都与 TωMN 相同。
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作之类的概念了。根元素的定义与 MωMN 完全相同。减一操作的定义与 TωMN 完全相同。展开流程与 MωMN 完全相同。
Dω·2MN
defective ω·2 mountain notation(Dω·2MN)是ω·2 mountain notation的一个尝试。ω·2 mountain notation的含义,是有ω·2种分隔符。
已知Y和TBMS都是BMS的扩展,前者只有ω^2行的结构却能远远超越后者的Ω行结构(不止如此,前者甚至还没有用完ω+1行结构,就已经在Y(1,3,4,2,5,8,10)处达到后者的行结构)。归根结底,这是由于Y具有一种特别的、TBMS不具有的提升。TBMS中,极限序数行只意味着最右列会变为极限序数下的大行标,而非最右列没有行标的增长。Y中,最右列出现极限序数行时,不论是最右列还是非最右列,都存在行标的增加。Y的这种现象称作eruption。同样,为了真正强烈地超越ωMN,而不是像TωMN那样弱,需要引入一种新型的提升:拉伸。在TωMN中,极限序数行只意味着最右列的分隔符会变为极限序数下的大分隔符,而非最右列的分隔符没有增长。接下来,在Dω·2MN(或者其它>ω mountain notation)中,最右列出现极限序数行时,不论是最右列还是非最右列,都存在分隔符的增加。分隔符的增加意味着同列相邻元素的距离变远了,“拉伸”因而得名。
定义分隔符:
分隔符由两部分组成:(写在左边)0~1个分号、(写在右边)非负整数个逗号。
分隔符的大小关系:两分隔符相比,先比其分号数,如果不等,则得出结果;如果分号数相等,再比逗号数,逗号数的比较结果就是分隔符的比较结果。规定第0行元素具有0个分号、0个逗号组成的分隔符。它仍在第0行(行标为[])。以逗号结尾的分隔符称作后继分隔符(其前继是它去掉结尾的逗号)。否则称作极限分隔符。在本记号中,非空极限分隔符只有“;”一种。
其简单规则如下
- 零规则:
- 后继规则:
主流表达式:.由主流表达式展开,用简单规则得到的矩阵都是标准式。 如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、参考元素、减一操作之类的概念了。对于>ω mountain notation而言,还要定义拉伸相关的概念。 定义根元素:从右上角出发,沿左腿向左下一步,就到达根元素。(其实这个根元素的定义与ωMN相同)
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符“;”。如果根列元素的分隔符≥顶元素的分隔符,则拉伸阈是1重逗号。设根列元素的分隔符是n重逗号,则拉伸阈是n+1重逗号。
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈,设拉伸阈是n重逗号,最上参考元素的分隔符是m重逗号,则拉伸量为m-n+1。其它情况,拉伸量为0。
定义减一操作:按下列步骤修改矩阵。
- 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素具有分隔符A、行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。
- 判断M的种类:
- M是1重逗号。删掉右上角,然后跳到(外层的)第3步。
- M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。
- M是极限分隔符“;”。
- 如果A≥M则令j=1。否则设A是i重逗号,则令j=i+1。
- 如果α<β且B是≥j重逗号,则删掉右上角;否则把右上角的分隔符从M改为j重逗号。
- 跳到第3步。
- 把根元素上方的元素(不含根元素)都复制到最右列上方。
以下是展开流程:
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。最后去掉最右列,才完成整个展开流程。
每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它只能复制成一个目标元素。
如果x的值小于根列的列标,那么目标元素的值与x相同。
如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。
如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。
否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。
此类复制,目标元素的值等于x的值加上复制宽度。
对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。
对于最上端的参考元素。
如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。
否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。
注意到减一操作可能引入左腿跨越“非ω的次方”行,即M是分号、α+(j重逗号)≤β、但B<j重逗号的情况。这是ωMN、TωMN没有的情况。在此情况下,右上角的分隔符从M改成了j重逗号,形成新的元素m。这个元素m,今后它作为某个根列元素时,在拉伸的判断下显得像j重逗号。然而,元素m在展开时,其分隔符却显示出比“β与α的差值”还要大的跨度。这种不匹配的错位(defect)也直接地表现为“左腿跨越非ω的次方行”。
典型例子:
,粗体为根元素。
初次减一后得,粗体为根元素及其对应的最上参考元素。
第一轮延伸时,拉伸阈为2重逗号,拉伸量为1。得到,粗体为根元素。
最终展开为
关于它的强度以及相对于的提升,参见词条TωMN VS ω·2MN
Aω·2MN
astral ω·2 mountain notation(Aω·2MN)是ω·2 mountain notation的另一个尝试。
在Dω·2MN中,每个根列元素都成了拉伸的判断依据。要与之匹配,则减一操作时,根元素对应的最上参考元素必须按Dω·2MN定义中的那种方式变化,才能让每次最右列出现极限分隔符时有合理的拉伸。然而,还有一种方式来判断拉伸的依据。这种方式需要让一部分元素“不作为判断拉伸的依据”,因此判断的时候要跳过它们,找它们下方的元素。这些元素要有额外的标记,这里就用星号(*)来表示。
于是,每个元素由三部分构成:值、分隔符、星标。值是正整数,代表该元素向左下伸出的左腿要跨越到第几列(左腿元素的行标则小于本元素,且左腿元素是满足条件的所有元素之中的最上者)。分隔符代表元素与它下方一格元素的行标差,这个行标差总是ω的次方。星标是只有“有”“无”取值的布尔值,代表本元素作为判断拉伸的依据之否定。元素的写法是先写分隔符,再(如果有星标则写星号,否则不写任何东西),再写值。
分隔符的定义与Dω·2MN相同。简单规则与Dω·2MN相同。 如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、参考元素、减一操作、拉伸阈、拉伸量之类的概念了。对于Aω·2MN,还有额外的标记操作。 根元素的定义与ωMN相同。
定义函数S(a),其中a是元素。如果a有星标,则S(a)是S(a沿右腿向下一格),否则S(a)是a的分隔符。
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符“;”。如果S(根列元素)≥顶元素的分隔符,则拉伸阈是1重逗号。设S(根列元素)是n重逗号,则拉伸阈是n+1重逗号。
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。
其它情况,作下列流程:
- 从最上参考元素出发。
- 如果当前元素与根列元素同行,则拉伸量为0。结束流程。
- 设当前元素的分隔符是M。
- 如果顶元素分隔符>M≥拉伸阈,设M是m重逗号,拉伸阈是n重逗号,则拉伸量为m-n+1。结束流程。
- 沿右腿向下一格。回到步骤2。
定义减一操作:按下列步骤修改矩阵。
- 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素a具有行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。
- 判断M的种类:
- M是1重逗号。删掉右上角,然后跳到(外层的)第3步。
- M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。
- M是极限分隔符“;”。
- 如果S(a)≥M则令M'是1重逗号。否则设S(a)是i重逗号,则令M'是i+1重逗号。
- 如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。
- 跳到第3步。
- 把根元素上方的元素(不含根元素)都复制到最右列上方。
定义标记操作:对于每一对(根列元素,顶元素),都按下列步骤修改矩阵。
- 从最上参考元素出发。
- 如果当前元素与根列元素同行,则结束流程。
- 设当前元素的分隔符是M。
- 如果M<拉伸阈,则把当前元素设为“有星标”。
- 如果顶元素>M≥拉伸阈,则结束流程。
- 沿右腿向下一格。回到步骤2。
以下是展开流程:
对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。最后去掉最右列,才完成整个展开流程。
每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量,再做标记操作。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它只能复制成一个目标元素。
如果x的值小于根列的列标,那么目标元素的值与x相同。
如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。
如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。 否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。
目标元素的星标与x相同。
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。
此类复制,目标元素的值等于x的值加上复制宽度。
对于不是最上端的参考元素,沿右腿向上一格,到达一个元素k。于是目标元素的分隔符、星标与k相同。
对于最上端的参考元素。如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。
目标元素的星标与x相同。
在Dω·2MN中,每个根列元素都成了拉伸的判断依据;与之匹配的是最上端的参考元素。
而在Aω·2MN中,最上端的参考元素可能不够大,便用它下方最近的“足够大”的参考元素作为拉伸的判断依据。由此,要想与之匹配,根列元素就需要星标,延续“它下方最近的足够大的参考元素”这一思想。
典例分析:,粗体为根元素。
减一后得,粗体为根元素及其对应的最上参考元素。
拉伸阈为2重逗号,拉伸量为1。
标记后得。然后延伸出更多列。
最终展开为……
defective ω^2 mountain notation(Dω^2MN)是Dω·2MN的进一步扩展,是ω^2MN的一种尝试。因为astral型定义比较复杂,所以我选用了defective型的定义。虽不太完美,但好在定义比astral简单一点点。ω^2MN,意思是有ω^2种分隔符的mountain notation。
Dω·2MN有一种极限分隔符“;”,由此有一种拉伸:一部分小于分号的分隔符(有拉伸阈的要求)扩大了,但仍小于分号。在ω^2MN中,那就有ω种极限分隔符,它们是n重分号,由此有拉伸:一部分小于n重分号的分隔符(有拉伸阈的要求)扩大了,但仍小于n重分号。
定义分隔符:分隔符由两部分组成:(写在左边)非负整数个分号、(写在右边)非负整数个逗号。分隔符的大小关系:两分隔符相比,先比其分号数,如果不等,则得出结果;如果分号数相等,再比逗号数,逗号数的比较结果就是分隔符的比较结果。规定第0行元素具有0个分号、0个逗号组成的分隔符。它仍在第0行(行标为[])。以逗号结尾的分隔符称作后继分隔符(其前继是它去掉结尾的逗号)。否则称作极限分隔符。
简单规则与Dω·2MN相同。主流表达式:.由主流表达式展开,用简单规则得到的矩阵都是标准式。 如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作、拉伸阈、拉伸量之类的概念了。 对于极限分隔符M=n重分号,记M[i] = n-1重分号后跟i重逗号(i只取正整数)。
根元素的定义与ωMN相同——从右上角出发,沿左腿向左下一步,就到达根元素。
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符——设它是M。如果根列元素的分隔符≥M,则拉伸阈是M[1]。如果根列元素的分隔符<M,则拉伸阈是M[n],其中n是使得“M[i]>根列元素的分隔符”的最小正整数i。
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈:设拉伸阈是n重分号后跟m重逗号,最上参考元素的分隔符是n重分号后跟k重逗号,则拉伸量为k-m+1。其它情况,拉伸量为0。
定义减一操作:按下列步骤修改矩阵。
- 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素具有分隔符A、行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。
- 判断M的种类:
- M是1重逗号。删掉右上角,然后跳到(外层的)第3步。
- M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。
- M是极限分隔符。
- 如果A≥M则令j=1。否则令j=(使得“M[i]>A”的最小正整数i)。
- 如果α<β且B≥M[j],则删掉右上角;否则把右上角的分隔符从M改为M[j]。
- 跳到第3步。
- 把根元素上方的元素(不含根元素)都复制到最右列上方。
以下是展开流程: 对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。最后去掉最右列,才完成整个展开流程。 每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它只能复制成一个目标元素。
确定目标元素的值:
- 如果x的值小于根列的列标,那么目标元素的值与x相同。
- 如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。
确定目标元素的分隔符:
- 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。
- 否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。
确定目标元素的值:
此类复制,目标元素的值等于x的值加上复制宽度。
确定目标元素的分隔符:
- 对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。
- 对于最上端的参考元素。
- 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。
- 否则,目标元素的分隔符是“x的分隔符后面添加(拉伸量)重逗号”。
defective ω^ω mountain notation(Dω^ωMN)是Dω^2MN的进一步扩展,是ω^ωMN的一种尝试。
Dω^ωMN中的分隔符有ω^ω种。其中,第种都是后继分隔符;第种分隔符与Dω^2MN中的分隔符类似,以它为顶元素发生拉伸的时候,被拉伸的分隔符总是在末尾添加若干个逗号(即分隔符的种类序数增加一个正整数);而更大的第种分隔符则是新东西,以它为顶元素发生拉伸的时候,被拉伸的分隔符要从第种分隔符拉伸到第种分隔符,这不是简单的“加一个序数”,而是连末尾的整数部分也保留着。
由于分隔符的种类较多,Dω^ωMN将像TωMN那样,用记号自身来表达分隔符。只不过,分隔符的大小有上限。
定义分隔符:分隔符是小于的非空矩阵。分隔符也可以简写为n重逗号。
(以下分隔符概念与TωMN相同)
元素的大小比较:两元素相比,先比其值,如果值不等,则得出结果;如果值相等,再比分隔符,分隔符的比较结果就是元素的比较结果。
列的大小比较:以元素为单位,按字典序比较。
矩阵的大小比较(也就是分隔符的大小比较):以列为单位,按字典序比较。
规定第0行元素具有空矩阵分隔符。它仍在第0行(行标为[])。
以结尾的分隔符称作后继分隔符(其前继是它去掉结尾的)。否则称作极限分隔符。
简单规则与Dω·2MN相同。主流表达式:.由主流表达式展开,用简单规则得到的矩阵都是标准式。 如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作、拉伸阈、拉伸量之类的概念了。 对于分隔符M而言,它可以作为矩阵长展开为M[n](n为非负整数),我们也定义长展开的M[-1]是M去掉根列右侧(不含根列)的所有列。以下所有定义中,M[n]都采用长展开而非短展开。
根元素的定义与ωMN相同——从右上角出发,沿左腿向左下一步,就到达根元素。
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符——设它是M。如果根列元素的分隔符≥M,则拉伸阈是M[-1]。如果根列元素的分隔符<M,则拉伸阈是M[n],其中n是满足“M[n]>根列元素的分隔符”的最小值。
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈:设顶元素分隔符是M,拉伸阈是M[n],最上参考元素的分隔符是K,k是满足“K≥M[k]”的最大值,则拉伸量为k-n+1。其它情况,拉伸量为0。
定义减一操作:按下列步骤修改矩阵。
- 设右上角的分隔符是M。右上角沿左腿向左下走一步,到达的元素具有分隔符A、行标α;右上角沿右腿向下一格,到达的元素具有分隔符B、行标β。
- 判断M的种类:
- M是1重逗号。删掉右上角,然后跳到(外层的)第3步。
- M是后继分隔符。记M的前继为M'。如果α+M'≤β,则删掉右上角;否则把右上角的分隔符从M改为M'。然后跳到第3步。
- M是极限分隔符。
- 如果A≥M则令j=-1。否则令j=(使得“M[i]>A”的最小i)。
- 如果α<β且B≥M[j],则删掉右上角;否则把右上角的分隔符从M改为M[j]。
- 跳到第3步。
- 把根元素上方的元素(不含根元素)都复制到最右列上方。
以下是展开流程 对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。延伸完毕后,如果是长展开,则再做一次减一操作;如果是短展开,则去掉最右列。这才完成整个展开流程。 每一轮延伸的步骤如下:首先确定右上角、根列元素、顶元素、复制部分、复制宽度、magma元素。然后做减一操作。然后确定参考元素、拉伸阈、拉伸量。然后,从左到右逐列地把复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素(分隔符为X)。它只能复制成一个目标元素。
确定目标元素的值:
- 如果x的值小于根列的列标,那么目标元素的值与x相同。
- 如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。
确定目标元素的分隔符:
- 如果X大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符是X。
- 否则,记顶元素分隔符为M、拉伸量为k。
- 设s满足“X≤M[s]”。从最左列数起,X与M[s]的最长公共部分(一整列一整列地数)为N。再取t是满足“M[t]是X从最左列开始的部分”的最大值,Y是X去掉M[t]后剩余的部分。
- 设M的根列在第u列。将Y中所有大于等于u的元素值都加上(M的复制宽度)·k。
- 于是,目标元素的分隔符是“M[t+k]右边跟着Y”。
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。
确定目标元素的值:
此类复制,目标元素的值等于x的值加上复制宽度。
确定目标元素的分隔符:
- 对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。
- 对于最上端的参考元素。
- 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。
- 否则,设x的分隔符是X,记顶元素分隔符为M、拉伸量为k。
- 设s满足“X≤M[s]”。从最左列数起,X与M[s]的最长公共部分(一整列一整列地数)为N。再取t是满足“M[t]是X从最左列开始的部分”的最大值,Y是X去掉M[t]后剩余的部分。
- 设M的根列在第u列。将Y中所有大于等于u的元素值都加上(M的复制宽度)·k。
- 于是,目标元素的分隔符是“M[t+k]右边跟着Y”。
transfinite ω^ω mountain notation(Tω^ωMN)是Dω^ωMN的进一步扩展。不确定更高层次的αMN是否需要更“新型”的提升/eruption/拉伸/etc.概念才能完成。这里暂用transfinite这个形容词来表示分隔符种类之多——Tω^ωMN中的分隔符种类数与该记号的极限相当。
看到这里,我们知道,Tω^ωMN最关键的问题在于如何拉伸。我们仍规定只有当 顶元素分隔符>待拉伸分隔符≥拉伸阈 的时候才有可能拉伸。所有其他定义都要配合这一准则。
一个非平凡的拉伸发生在“顶元素具有第ω^ω种分隔符”的情形。被拉伸的分隔符要从第种分隔符拉伸到第种分隔符。
但如果分隔符的种类序数不是ω的整次方呢?比如,被拉伸的分隔符是第种分隔符,按照Dω^ωMN的拉伸方法,它将变成第种分隔符,只取“最左侧”的一个部分发生拉伸。
另一个非平凡的拉伸发生在“顶元素具有分隔符”的情形。此时分隔符在展开时出现eruption,那么拉伸就不是按照Dω^ωMN定义的那种“仅仅向右平移、元素值增加”能完成的了。我们需要把被拉伸的分隔符也纳入顶元素分隔符的延伸过程中,把(被拉伸的分隔符中的)根列右方的列当作被复制的东西,连同主要的延伸过程一起复制、一起向右移动、一起eruption、一起拉伸。
Tω^ωMN的分隔符与TωMN相同。
简单规则与Dω·2MN相同。主流表达式:.由主流表达式展开,用简单规则得到的矩阵都是标准式。
如果一个表达式不能按简单规则处理,就执行一次展开。此时就需要定义根元素、减一操作、拉伸阈、拉伸量之类的概念了。
对于分隔符M而言,它可以作为矩阵长展开为M[n](n为非负整数),我们也定义长展开的M[-1]是M去掉根列右侧(不含根列)的所有列。以下所有定义中,M[n]都采用长展开而非短展开。此外,对于分隔符M>N而言,把它们作为矩阵,可以将M延伸,同时N作为“附加列”也一起延伸。带附加列的延伸流程将在“展开流程”一节阐述。
根元素的定义与ωMN相同——从右上角出发,沿左腿向左下一步,就到达根元素。
定义拉伸阈:每一对(根列元素,顶元素)都有至多一个拉伸阈。拉伸阈是个分隔符。如果顶元素的分隔符是后继分隔符,则没有拉伸阈。其它情况,顶元素的分隔符是极限分隔符——设它是M。如果根列元素的分隔符≥M,则拉伸阈是M[-1]。此时定义预拉伸量为0。如果根列元素的分隔符<M,则拉伸阈是M[n],其中n是满足“M[n]>根列元素的分隔符”的最小值。此时定义预拉伸量为n+1。
定义拉伸量:每一对(根列元素,顶元素),有拉伸量。拉伸量是个非负整数。如果没有拉伸阈,则拉伸量为0。如果参考元素只有1个,则拉伸量为0。如果顶元素分隔符>最上参考元素的分隔符≥拉伸阈:设顶元素分隔符是M,预拉伸量是n,最上参考元素的分隔符是K,k是满足“M[k]>K”的最小值,则拉伸量为k-n+1。其它情况,拉伸量为0。
减一操作的定义与Dω^ωMN相同。
以下是展开流程: 对于矩阵[n],接下来要做n轮延伸。每一轮延伸都有编号:1、2……、n。 延伸完毕后,如果是长展开,则再做一次减一操作;如果是短展开,则去掉最右列。这才完成整个展开流程。
每一轮延伸,可能是单独一个矩阵的延伸,也可能是“A附加B延伸”(A、B都是矩阵。此处A称作主矩阵,B称作附加矩阵)。步骤如下:
- 首先是附加矩阵的预处理。A、B的最长公共部分(一整列一整列地数)记作C。B删去C这个部分,余下的部分作为后续步骤中的“附加矩阵”。
- 主矩阵确定右上角、根列元素、顶元素、复制部分、复制宽度。
- 附加矩阵的复制部分是根列以右(不含根列)的所有列,列标甚至能超过主矩阵的列数。
- 主矩阵、附加矩阵都(按照主矩阵的根列元素)确定magma元素。
- 主矩阵做减一操作,不含附加矩阵。
- 主矩阵确定参考元素、拉伸阈、预拉伸量、拉伸量。
- 从左到右逐列地把主矩阵、附加矩阵复制部分的元素(称为源元素)复制到右边的新增列中(目标元素)。
- 如果要得到附加矩阵D,那么把“现有的附加矩阵”作为D最右边的部分,D左边空余的列从主矩阵取得。
对于每一个“源元素列”的复制,从下到上应对那些元素。第0行的元素需要应对,但它不会作为源元素。最上端的元素不需应对,但它会作为源元素。
非magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素(分隔符为X)。它只能复制成一个目标元素。
确定目标元素的值:
- 如果x的值小于根列的列标,那么目标元素的值与x相同。
- 如果x的值大于等于根列的列标,那么目标元素的值等于x的值加上复制宽度。
确定目标元素的分隔符:
- 如果X大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符是X。
- 否则,记顶元素分隔符为M、预拉伸量为m、拉伸量为k。M延伸m轮得到N。目标元素的分隔符是“N附加X延伸”k轮之后得到的附加矩阵。
magma元素a。从a沿右腿向上一格,到达的元素x是待复制的源元素。它可能复制成一个或更多个目标元素。找到a所在行的根列元素,然后找到这个根列元素对应的参考元素。每个参考元素将得出一个目标元素。
确定目标元素的值:
此类复制,目标元素的值等于x的值加上复制宽度。
确定目标元素的分隔符:
- 对于不是最上端的参考元素,沿右腿向上一格,到达一个元素,其分隔符为K。于是目标元素的分隔符是K。
- 对于最上端的参考元素。
- 如果x的分隔符大于等于顶元素分隔符或小于拉伸阈,或者没有拉伸阈,则目标元素的分隔符与x相同。
- 否则,设x的分隔符是X,记顶元素分隔符为M、预拉伸量为m、拉伸量为k。M延伸m轮得到N。目标元素的分隔符是“N附加X延伸”k轮之后得到的附加矩阵。
与 Y 系列记号的区别
Y 系列记号的表达式是个正整数序列,每个元素都压缩了许多信息,不能立即辨认,需要画出山脉图才可以看到其结构。山脉图分为行、列,列标与行标的二元组可以定位山脉图中的一个元素。列标是正整数,每一列对应原来序列的一个元素。行标则是序数,理想中 山脉图的行标是小于 的序数。相比之下,山脉系列记号则显式地表达山脉图,而无需像 Y 系列记号那样需要解压、压缩。山脉系列记号的表达式是 矩阵[n],此 n 也就是展开时的基本列项数。
相比于 Y 系列记号而言,山脉系列记号具有如下的优点:
- 显式地表达山脉图,无需解压(画山脉图)、压缩(从山脉图还原为正整数序列)就可看出结构。
- 表达式可以更加自由(不受解压、压缩的限制),从而可以简化。尽管与 Y 同样有许多非标准表达。
- 可以规避压扁现象——山脉记号中特定行标的元素总可以存在。这是第二点优势的延伸。
- 可以规避 Y 系列作超限简单扩展时“极限序数行标的 1 与极限序数值不匹配”的问题。
但同时它有如下的不足:
- 表达式比较长,不如 Y 系列简短。
- 难以提取,而 Y 系列却可以简单地提取任何可以形成正整数序列的东西。