| Linear Array Notation | |
|---|---|
| Type | Multidimensional |
| Based on | Exponentiation |
| Growth rate | \(f_{\psi(\psi_{I(\omega,0)}(0))}(n)\) |
Linear array notation (LAN) is the third part of R function, and it works similar to ordinals.
Definition
Definitions come so early! But without this I cannot explain things clearly.
Something
Symbol , is called comma, with ASCII=44. Commas appear only inside braces, and these braces are called arrays.
Things inside an array can be separated into several parts by commas, and each part is an entry. e.g. {0,1,2,{0}{2},0,{{1}{0,1}},1} has 7 entries - 0, 1, 2, {0}{2}, 0, {{1}{0,1}} and 1. Any string is allowed to be an entry of a brace. But every entry mustn't be empty - at least there is a 0 between two commas.
If we delete a whole entry of an array and divide it into 2 parts from the deleted entry, they're called a pair of encloser. e.g. If we divide {0,1,2,{0}{1{0}},3,2,1} from the 3, we'll get a pair of encloser {0,1,2,{0}{1{0}}, ____ ,2,1}(where the ____ is an encloser mark). We can readd any strings between the 2 part of an encloser.
An encloser A encloses a string B if B is after the left part of A and before the right part of A.
An encloser A immediately encloses a string B if B is immediately after the left part of A and immediately before the right part of A.
Rules
Using pattern tests the last time.
- Rule 1: \(nR0=10^n\) ----- base rule
- Rule 2: \(nRa+1\odot=nRa\odot Ra\odot...Ra\odot\) with n R's.
- Rule 3: \(nR\oslash\{0\}\odot=nR\oslash n\odot\)
- Rule 4: \(nR\oslash\{a+1\odot_1\}\odot_2=nR\oslash\{a\odot_1\}\{a\odot_1\}...\{a\odot_1\}\odot_2\) with n \(\{a\odot_1\}\)'s.
- Subrule 1: 0 is default, so 0's immediately before a brace can be removed, and the same to 0's at the end of an array. i.e. 0{={ and ,0}=}
- Rule 5: For \(nR\oslash_2\{\oslash_10,a+1\odot_1\}\odot_2\), find the nearest encloser that has level lessequal than \(\{\oslash_1\text{ ____ },a\odot_1\}\) and enclosing the \(\{\oslash_10,a+1\odot_1\}\) (you can use Subrule 2 now), then \(nR\oslash_2\{\oslash_1\oslash_3\{\oslash_10,a+1\odot_1\}\odot_3,a\odot_1\}\odot_2=\) \(nR\oslash_2\{\oslash_1\oslash_3\{\oslash_1\oslash_3...\{\oslash_1\oslash_30\odot_3,a\odot_1\}...\odot_3,a\odot_1\}\odot_3,a\odot_1\}\odot_2\) with n \(\{\oslash_1\oslash_3\)'s and n \(\odot_3,a\odot_1\}\)'s.
- Subrule 2: If you find an encloser that's not exactly \(\{\oslash_1\text{ ____ },a\odot_1\}\), add one to immediately inside the encloser you find.
Subrule 1 can apply any time, but subrule 2 applies only be called by Rule 5. The \(\odot\) can be any string or empty, the \(\oslash\) can be any string or empty excluding non-0 numbers.
Levels
In Rule 5 I mention "level". But what's it? Well every brace has a level. They can be eveluate as follows. First is brace without commas immediately inside it. For these braces, we see an integer k as a string 111...11 (k 1's).
- We see the whole string after the "R" as an invisible brace here and it has the lowest level (and it cannot appear in other places), 1 has the second lowest level, {0} has the third lowest level. Other braces should has level higher than them.
For other braces, how to compare levels of A and B?
- Use Subrule 1 on A and B until Subrule 1 cannot apply anymore.
- \(A=\{A_1A_2...A_k\}\), \(B=\{B_1B_2...B_k\}\), where \(A_i\) is a brace immediately inside A.(the same as B)Here the 1 is seen as a brace.
- Compare \(A_i\)'s and pick out the highest-leveled ones: \(A_M\). And the same as B.
- If \(A_M>B_M\) on level, then A>B; if \(A_M<B_M\), then A<B. or else -
- If the amount of \(A_M>B_M\), then A>B; if the amount of \(A_M<B_M\), then A<B.or else -
- Delete string after the first \(A_M\)(including) and before the rbrace of A (excluding), and the same as B. We make two reduced braces: A' and B'.
- If A'>B' on level, then A>B; if A'<B' , then A<B; if A'=B' , then A=B.
Then we really start to compare levels of arrays. How to compare levels of A and B?
- Use Subrule 1 on A and B until Subrule 1 cannot apply anymore.
- If the amount of entries of A>B, then A>B; if the amount of entries of A<B, then A<B. or else -
- If A and B both have only 1 entry, use the process above. If not, find the last comma of A and B, and \(A=\{A_1,A_2\}\), \(B=\{B_1,B_2\}\).
- If \(\{A_2\}<\{B_2\}\) on level, then A<B; if \(\{A_2\}>\{B_2\}\), then A>B. or else -
- If \(\{A_1\}<\{B_1\}\) on level, then A<B; if \(\{A_1\}>\{B_1\}\), then A>B; if \(\{A_1\}=\{B_1\}\), then A=B.
For enclosers, the encloser mark ____ has the highest level when it take on the place of an entry.
Okey, the definition is completed now.
How it goes up
Rule 5 seems that {0,...0,0,a+1,...} works as a "diagonalizer" inside brace {0,...0, ,a,...}. Use your imagination for these: for {0,1} we add a pair of { and ,0} to be {{0,1},0}, and continue Rule 5: nR{{0,1},0}=nR{{...{0}...,0},0} with n nests, then use Subrule 1 to be nR{{...{0}...}}.
More 2-entry arrays
3R{0,1}{0,1}=(S2)3R{{0,1}{0,1},0}=(R5)3R{{{0{0,1},0}{0,1},0}{0,1},0}=(S1)3R{{{{0,1}}{0,1}}{0,1}}=(R5)3R{{{{{0}}}{0,1}}{0,1}}=(R3)3R{{{{3}}{0,1}}{0,1}}=(R4)3R{{{{2}{2}{2}}{0,1}}{0,1}}=...
3R{1,1}=(R4)3R{0,1}{0,1}{0,1}=...
3R{{0,1},1}=(S2)3R{{{0,1},1},0}=(R5)3R{{{{{{0,1},0},1},0},1},0}=(R5)3R{{{{{{{0},0},0},1},0},1},0}=(S1)3R{{{{{{{0}}},1}},1}}=(R3)3R{{{{{{3}},1}},1}}=...
3R{0,2}=(S2)3R{{0,2},1}=(R5)3R{{{0,1},1},1}=(S2)3R{{{{0,1},1},1},0}=(R5)3R{{{{{{{{{0,1},1},0},1},1},0},1},1},0}=(S1)3R{{{{{{{{{0,1},1}},1},1}},1},1}}=...
3R{{0,1}{0,2},1}=(S2)3R{{{0,1}{0,2},1},0}=(R5)3R{{{{{{0{0,2},1},0}{0,2},1},0}{0,2},1},0}=(S1)3R{{{{{{{0,2},1}}{0,2},1}}{0,2},1}}=(R5)3R{{{{{{{{0,1},1},1}}{0,2},1}}{0,2},1}}=...
3R{0,2}{0,2}=(S2)3R{{0,2}{0,2},1}=(R5)3R{{{0{0,2},1}{0,2},1}{0,2},1}=(S1)3R{{{{0,2},1}{0,2},1}{0,2},1}=(R5)3R{{{{{0,1},1},1}{0,2},1}{0,2},1}=...
3R{0,3}=(S2)3R{{0,3},2}=(R5)3R{{{0,2},2},2}=(S2)3R{{{{0,2},2},2},1}=(R5)3R{{{{{{{{{0,2},2},1},2},2},1},2},2},1}=...
3R{0,{0}}=(R3)3R{0,3}=...
3R{0,{0}}{0,{0}}=(R3)3R{0,3}{0,{0}}=(S2)3R{{0,3}{0,{0}},2}=(R5)3R{{{0{0,{0}},2}{0,{0}},2}{0,{0}},2}=(S1)3R{{{{0,{0}},2}{0,{0}},2}{0,{0}},2}=...
Then {0,1{0}}, {0,{0}{0}}, {0,{1}}, {0,{{0,1}}}, {0,{{{0,2},1}}},...
3R{0,{0,1}}=(S2)3R{{0,{0,1}},0}=(R5)3R{{0,{{0,{{0,0},0}},0}},0}=(S1)3R{{0,{{0,{{0}}}}}}=(R3)3R{{0,{{0,{3}}}}}=(R4)3R{{0,{{0,{0}{0}{0}{1}{1}{2}{2}}}}}=(R3)3R{{0,{{0,3{0}{0}{1}{1}{2}{2}}}}}=...
Then {0,{0,2}}, {0,{0,{0}}}, {0,{0,{0,{0,1}}}},... We'll reach the end of 2-argument arrays at {0,0,1}.
More arguments
{0,0,1} is the smallest 3-argument array. 3R{0,0,1}=3R{0,{0,0,1},0}=3R{0,{0,{0,0,0},0},0}=3R{0,{0,{0}}}=3R{0,{0,3}}.
But how to get {0,0,2} ? It's a "diagonalizer" of {0,____,1} just like {0,0,1} is a "diagonalizer" of {0,____,0}. Before this, how to get {0,{0,0,1},1} ? An example is 3R{0,{0,0,1},1}=3R{0,{0,{0,0,1},1},0}=3R{0,{0,{0,{0,{0,{0,0,1},0},1},0},1},0}=3R{0,{0,{0,{0,{0,{0,0,1},0},1}},1}}=3R{0,{0,{0,{0,{0,{0,{0,0,0},0},0},1}},1}}=3R{0,{0,{0,{0,{0,{0,{0}}},1}},1}}=3R{0,{0,{0,{0,{0,{0,3}},1}},1}}=... Imagine the strength!
Next, {0,0,3}, {0,0,{0}}, {0,0,{0,1}}, {0,0,{0,{0,0,1}}}, {0,0,{0,{0,0,{0,{0,0,1}}}}}, and {0,0,{0,0,1}}. Then {0,0,{0,0,2}}, {0,0,{0,0,{0,{0,0,{0,0,2}}}}}, {0,0,{0,0,{0,0,1}}} - these up to {0,0,0,1}. Then 5 arguments, 6 arguments, and so on... The limit of linear array notation is nR{0,0,...,0,1} where there are n arguments of an array!
Analysis
Linear array notation starts at FGH ordinal \(\varepsilon_0\) and surpass many things -
- {0,1}{0,1} reaches \(\varepsilon_1\)
- {{0,1},1} reaches \(\zeta_0\)
- {{{0,1},1},1} reaches \(\Gamma_0\)
- {{{1,1},1},1} reaches SVO and is comparable to tree() function
- {{{{0,1},1},1},1} reaches LVO
- {0,2} reaches BHO and is comparable to Bird's H() function
- {{{0,1},2},2} is comparable to Bird's S() function
- {0,{0}} reaches \(\psi(\Omega_\omega)\), the limit of a legion in BEAF, and is comparable to SCG() function, SSCG() function and Bird's U() function - the limit of BAN.
- {0,1{0}} reaches TFB and is comparable to Buchholz Hydra function
- {0,0,1} reaches \(\psi(\psi_I(0))\)
- {0,0,{0}} is comparable to question mark (n? function) in HAN, and {0,0,{0,0,1}} starts to surpass HAN.
Finally the ordinal limit of linear array notation is \(\psi(\psi_{I(\omega,0)}(0))\).
But we're just at the beginning of R function...