BTBMS
更多操作
BTBMS(Bubby3's Transfinite Bashicu Matrix System)是 Bubby3 创造的序数记号,是现行扩展 BMS 中强度最高的。它由 Bubby3 最先提出,并由笑姐姐最终给出完整定义。
定义
一个 BTBM 矩阵形如 ,其中 称为矩阵的顶层列。
一个列形如 ,其中 称为列的项。
一个项形如 ,其中 是正整数, 是一个 BTBM 矩阵。称 为 的高度矩阵, 为 的值,或称作 的父列标。 称 为 的直接外部项; 所在列为 的直接外部列。若 的高度矩阵为空,则称 为单行项。
以后我们常用 表示整个矩阵, 表示 的一个子阵。顶层列的高度矩阵称为直接子阵。矩阵 本身,以及 的某个直接子阵的子阵,统称为 的子阵。
列标
如下定义 的列在 中的列标。 最左列的列标为 1;对一个子阵 , 的最左侧列列标为它的外部列的列标 +1。某个子阵非最左侧列的列标等于它左侧相邻列的列标 +1。
对于一个元素,它的值等于它的父列列标。如下寻找它的父列:从该元素所在列 出发,若存在左侧相邻列则取左侧相邻列,否则取外部列。得到的列的列标取遍不大于 的列标的所有正整数。其中列标等于元素的值的列即为该元素父列。
合法性约束
引入如下约束:一个合法矩阵所有列的所有元素的值都小于所在列的列标;对任何列 , 的任何元素的高度矩阵的所有列都非空,且这些列的首个元素的值都大于等于 的列标。
零记号与后继记号
若 为空矩阵,则 为零记号。 若 的末列为空列,则 为后继记号,其前驱记号为 去掉末列。
展开规则(寻找末列与基本列)
对于合法的极限矩阵,我们如下寻找它的末列。初始令当前层级为 本身。
- 若当前层级的顶层列中的末列的末项(根据合法性约束总是存在)不为单行项,则将当前层级改为该项的高度矩阵,然后继续流程;
- 否则末列即为当前层级的顶层列中的末列。按定义末列的末项为单行项,称为右上元素。该项父列称为根列。
若末列恰有 1 项,且根列为末列所在层级的直接外部列时,适用如下特殊展开规则: 设直接外部列为 ,其中 , 的顶层列的末列为 的末列。 此时 的基本列第 项为将 替换为 的 份复制,即将 替换为 。 其中 为去掉 的高度矩阵 的末列得到的项。
否则,适用一般展开规则。 一般展开中,我们定义减一余项。这是在末列删去末项后,将要添加到末列的根列的项。 令 为根列的一个复制, 为末列的一个复制去掉末项,其列标视为原来列的列标。 这之后,不断比较 与 首项的高度,然后删去高度较低的项;高度相同时同时删去。直到 与 至少有一个为空时, 中的项即称为减一余项。令阶差等于末列列标减去根列列标。
一个元素称为递增的当且仅当它的值不小于根列列标。简单递增 次是指将该矩阵的所有递增元素的值增加阶差的 倍。 令复制部为根列所在层级中,根列和右侧的所有列构成的矩阵,删去末列。将 为原矩阵末列去掉末项, 为减一余项。将 简单递增 次得到 。
- 若根列不是所在层级末列,令 为对 简单递增 次。递增结果的首列为 ;其余列为复制部去掉首列后简单递增 次。
- 否则,根列为所在层级的末列,因此末列是根列末项高度矩阵中的列。若减一余项为空,则称 为坏矩阵,不定义其展开。否则,末列实际为减一余项的子列。将减一余项删去末列,然后简单递增 次得到 。递增结果为 构成的单列矩阵。
这之后, 的基本列第 项如下计算: 将 删去末列,然后对 ,依次将 的复制部递增 次后,置于删去的末列的位置。( 时置于 删去的末列的位置;否则置于递增 次的复制部删去的末列的位置)得到的矩阵即为所求。
分析
关于 BTBMS 的强度分析及与 Y 序列等记号的具体对应,详见 BTBMS分析。