User:Syst3ms/Chained Array Notation

Chained Array Notation
I'm making this page so that it's not a giant mess of blog posts anymore.

Single-entry (seCAN) :
Rules : FGH limit : \(\omega\)
 * 1) \(a[0] = a^a\)
 * 2) \(a[b+1] = ((\cdots(a\underbrace{[b])[b]\cdots)[b])[b]}_\text{a times}\)

Nested (NCAN) :
\(\#\) is any array.

\(\ldots\) is a succession of entries.

\(\ddots\) is a nesting of arrays.

\(\cdots\) is any combination of any of the above two.

Rules : Process : FGH limit : \(\varphi(\omega,0)\)
 * 1) \(a[0] = a^a\)
 * 2) \(a[\#,0] = a[\#]\)
 * 3) \(a[b+1,\#] = (\cdots(a\underbrace{[b,\#])[b,\#]\cdots)[b,\#]}_\text{a times}\)
 * 4) Otherwise, start the process at the first entry
 * Before anything, trim any trailing zeroes anywhere and replace the first occurrence of \([0]\) (if any) with the base.
 * Case 3 is terminal.
 * 1) If the entry is a 0, jump to the next one.
 * 2) If the entry is an array, jump inside, at its first entry
 * 3) If the entry is superior to 0:
 * 4) If step 1 never applied, let the entire array be \([\ddots b+1\cdots]\) :
 * 5) The result is \(f^a(a)\), where \(f(n) = n[\ddots b\cdots]\) and \(a\) is the base
 * 6) Otherwise :
 * 7) Let the nested array the 0 to your left is in be \([0,\ldots,0,\ddots b+1 \cdots]\)
 * 8) Replace it with \([0,\ldots,[0,\ldots,0,\ddots 0 \cdots],\ddots b \cdots]\)

Dimensional (DCAN) :
\(\#\) is any array.

\(\ldots\) is a succession of entries.

\(\ddots\) is a nesting of arrays.

\(\bullet\) is any combination of any of the above two.

The comma is a shorthand for \(\{0\}\)

Rules : Process : FGH limit : \(\varphi(\omega^\omega,0)\)
 * 1) \(a[0] = a^a\)
 * 2) \(a[\#\{n\}0] = a[\#]\)
 * 3) \(a[b+1\{n\}\#] = (\cdots(a\underbrace{[b\{n\}\#])[b\{n\}\#]\cdots)[b\{n\}\#]}_\text{a times}\)
 * 4) Otherwise, start the process at the first entry
 * Before anything, trim any trailing zeroes anywhere and replace the first occurrence of \([0]\) (if any) with the base.
 * Case 3 is terminal.
 * 1) If the entry is a 0, jump to the next one.
 * 2) If the entry is an array, jump inside, at its first entry
 * 3) If the entry is superior to 0:
 * 4) If step 1 never applied :
 * 5) Let the entire array be \([\ddots b+1\cdots]\)
 * 6) The result is \(f^a(a)\), where \(f(n) = n[\ddots b\bullet]\) and \(a\) is the base
 * 7) If there is a comma to the left :
 * 8) Let the nested array the 0 to your left is in be \([0,\ldots,0,\ddots b+1 \bullet]\)
 * 9) Replace it with \([0,\ldots,[0,\ldots,0,\ddots 0 \bullet],\ddots b \bullet]\)
 * 10) Otherwise :
 * 11) Let the nested array the 0 to your left is in be \([0,\ldots,0\{c+1\}\ddots b+1 \bullet]\)
 * 12) Replace it with \([0,\ldots,\underbrace{0\{c\}\ldots\{c\}0}_\text{the base times}\{c\}1\{c+1\}\ddots b \bullet]\)

Hyperdimensional (HDCAN) :
funky kong is god