バードの配列表記
Rule A3とRule M2はよく似ているため、どのセパレーターがより高いランクなのか決定する必要がある。最初に、配列が何重にネストされたかを表す関数を L e v ( A ) {\displaystyle \mathrm {Lev} (A)} と表記する。例えば、 A = { 3 , 3 [ 1 [ 1 [ 2 ] 2 ] 2 ] 2 } {\displaystyle A=\{3,3[1[1[2]2]2]2\}} とすると、 L e v ( A ) = 3 {\displaystyle \mathrm {Lev} (A)=3} となる。つまり [ 2 ] {\displaystyle [2]} は [ 1 [ 2 ] 2 ] {\displaystyle [1[2]2]} にネストされていて、それも [ 1 [ 1 [ 2 ] 2 ] 2 ] {\displaystyle [1[1[2]2]2]} にネストされている。もう一つの関数、 N u m ( H , A ) {\displaystyle \mathrm {Num} (H,A)} を、配列 A {\displaystyle A} 中のセパレータ [ H ] {\displaystyle [H]} の個数と定義する。例えば、 A = { 3 , 3 [ 1 [ 2 ] 1 [ 2 ] 1 [ 2 ] 2 ] 2 ] 2 } {\displaystyle A=\{3,3[1[2]1[2]1[2]2]2]2\}} なら、 N u m ( 2 , A ) = 3 {\displaystyle \mathrm {Num} (2,A)=3} 。
Step 5. 文字列 A 2 {\displaystyle A_{2}} と B 2 {\displaystyle B_{2}} から、 [ H ] {\displaystyle [H]} のセパレータとその前の引数を削除する。
Step 6.これまでのルールで、 A 2 {\displaystyle A_{2}} と B 2 {\displaystyle B_{2}} は [ a ] {\displaystyle [a]} と [ b ] {\displaystyle [b]} ( a {\displaystyle a} と b {\displaystyle b} は単一の整数)の形になっているはずである。 もし [ a ] < [ b ] {\displaystyle [a]<[b]} なら [ A ] < [ B ] {\displaystyle [A]<[B]} 、 [ a ] > [ b ] {\displaystyle [a]>[b]} なら [ A ] > [ B ] {\displaystyle {\displaystyle [A]>\displaystyle [B]}} 、 それ以外はStep 7へ。
Step 7. A 1 {\displaystyle A_{1}} と B 1 {\displaystyle B_{1}} の最後の引数とその前のセパレータをすべて消去する。もし A 1 {\displaystyle A_{1}} と B 1 {\displaystyle B_{1}} がどちらも空ならば [ A ] = [ B ] {\displaystyle [A]=[B]} 、 それ以外はStep 2に戻る。