Ember Array Notation is created by googologist Sebastian GÂ
Each array is written like e(@). E stands for Ember array notation while the @ is the main array.
Unfortunately, the creator abandoned this notation. Date Noted: August 26, 2024
"I was too immature and too excited to have a notation on the Googology wiki, even though this notation helpped me learn, I really have no use for this notation due to it being so slow."
Linear arrays work the same as BAN and BEAF. They are the weakestpart of ember array notation
Rule 1: Linear notation looks like this e(a,b,c,d,e,f,...x,y,z)
Rule 2: If the last entry is one, delete it until the last entry is not 1
Rule 3: If the first entry is 1 or the second entry is 0, the array collapses to 1. If the first entry is 2, the array colapses to 4, If the second entry is 1, the array collapses to the first entryÂ
Rule 4: If the exceptions do not apply, follow like linear BEAF which basically is the first entry is the only base, the second entry itterates the "last entry" of the array if it had 1 less entry, or the second to last entry. The third entries and onward itterate the entry to the left of them.
{} representd BEAF
e() represents Ember
e(a) = {a} = a
e(a,b) = {a,b} = a^b
e(a,b,2) = {a,b,2} = a double arrow b
e(a,b,c) = {a,b,c} = a c arrow b
a c arrow b is a (c-1) arrow a for b many times
e(a,a,a) = {a,a,a} => e(a,2,1,2) = {a,2,1,2}
e(a,b,1,2) = e(a,a,(a,a,(a,a,(...)))) b times itterated
e(a,b,1,2) = e(a,a,(a,b-1,1,2))Â
e(a,b,c,d) = e(a,a,(a,b-1,c,d),d-1)
e(a,2,c,d) = e(a,a,c-1,d)
e(a,2,1,d) = e(a,a,a,d-1)
e(3,2,4,6) = e(3,3,3,6)
e(3,3,3,2) = e(3,2,1,3)
Double arrow repeats single arrow like single arrow repeats multiplication. Triple arrow does the same thing to double arrow. Repeated functions are done right to left. The same rule applies to the 3rd entry and on in 5+ entry arrays
e(a,a,a,1,2) = e(a,2,1,2,2)
e(a,a,a,a,2) = e(a,2,1,1,3)
e(a,b,c,d,e) = e(a,a,a,(a,b-1,c,d,e),e-1)
e(a,a,a,a,a) = e(a,2,1,1,1,2)
e(3,3,3,3) = e(3,2,1,1,2)
I will use the operation below for comparison along with using ember notation.
Rule o1: The rules of the entries for within each linear array are the same (check linear rule 4) (linear entries are separated by [2] or higher level separators) (look below for examples)
Rule o2: Entries separated by level 1 can be put, e(a,b[2]2). A represents the base and B the number of level 1 entries. If the array already has a number after the 2nd level separator, add 1 to the number Â
e(a,b[2]1) = a^b
e(a,b,c,d[2]1) = e(a,b,c,d)
e(a,b[2]2) = {a,a,a,a,a,a...} (b times)
e(a,2,2[2]2) = e(a,a[2]2)Â
e(a,a,2[2]2) = e(a,2,3[2]2)Â
e(a,3,3[2]2) = e(a,(a,a,2[2]2),2[2]2)
e(a,b,c[2]2) = e(a,(a,b-1,c[2]2),c-1[2]2)
e(a,a,a[2]2) = e(a,2,1,2[2]2) = e(a,3[2]3)
e(a,b,c,d[2]2) = e(a,a,(a,b-1,c,d[2]2),d-1[2]2)
e(a,a,c,d[2]2) = e(a,2,c+1,d[2]2)
e(a,a,a,d[2]2) = e(a,2,1,d+1[2]2)
e(a,a,a,a[2]2) = e(a,2,1,1,2[2]2) = e(a,4[2]3)
e(a,b,c,d,e[2]2) = e(a,a,a,(a,b-1,c,d,e)[2]2)
e(a,a,a,a,a[2]2) = e(a,5[2]3)
e(a,a,a,a,a,a[2]2) = e(a,6[2]3)
e(a,b[2]3) = e(a,a,a,a,a,...a,a[2]2) (b times)
Rule o3: To level up to higher level separators, put it as e(a,b[c]2) This means that A is the base with B entries per C dimensions
Rule o4: If the number after the separator becomes too big, you are supposed to put it in an array, if the array loops itself with b entries b times, add another comma to the suffix.
e(a,a,a,a,a,a[2]3) = e(a,6[2]4)
e(a,a,a,a,a,a[2]4) = e(a,6[2]5)
e(a,a,a,a,a,a[2]5) = e(a,6[2]6)
e(a,a,a,a,a,a[2]6) = e(a,6[2]7)
e(a,a,a,a,a,a[2]9) = e(a,6[2]10)
e(a,a,a,a[2](a,a,a,a[2](a,a,a,a[2]a))) = e(a,4[2]1,2)
e(a,a,a...[2](a,a,a...[2](...)c),c) (b times inside to out and linear) = e(a,b[2]1,c+1)
e(a,a,a...[2]c,d) (b times) = e(a,b[2]c+1,d)
e(a,a,a[2]b,b) = e(a,a,a[2]b,2,2)
e(a,a,a[2]b,c,d) = e(a,a,a[2]b,(a,a,a[2]b,c-1,d),d-1)
e(a,a,a[2]b,b,b) = e(a,a,a[2]b,2,1,2)
e(a,a,a[2]b,c,d,e) = e(a,a,a[2]b,b,(b,c-1,d,e),e-1)
e(a,a,a[2]b,b,c,d) = e(a,a,a[2]b,2,c+1,d)
e(a,a,a[2]b,b,b,d) = e(a,a,a[2]b,2,1,d+1)
e(a,a,a[2]b,b,b,b) = e(a,a,a[2]b,2,1,1,2)
e(a,a,a[2]b,b,b,b,b,b) = e(a,a,a[2]b,6[2]2)
e(a,a,a,a,a[2]b,b,b,b,b[2]3) = e(a,a,a,a,a[2]b,5[2]4)
e(a,a,a[2]a,a,a[2]a,a,a[3]1) = e(a,3[3]2)
e(a,a,a,a[2]a,a,a,a[2]a,a,a,a[2]a,a,a,a[3]2) = e(a,4[3]3)
e(a,a,a[2]a,a,a[2]a,a,a[3]a,a,a[2]a,a,a[2]a,a,a[3]a,a,a[2]a,a,a[2]a,a,a[4]1) = e(a,3[4]2)
e(a,7,[5]2) has 7 entries per 1st order, 7 1st order per 2nd order, 7 2nd per 3rd order, and 7 3rd order
e(a,b[n]c) = e(a,b[n]c[n+1]1)
e(a,b,[6]2) has b entries for the 5 orders totaling to b^5 entries
e(a,b[6]3) has b entries for the 5 orders totaling to b^5 entries with a final separator of [6]2
e(a,b[7]2) has b entries for the 6 orders totaling to b^6 entries
e(a,b[8]2) has b entries for the 7 orders totaling to b^7 entries
There is another rule in place for if the separator level not only becomes an array, but a really really powerful one to the point that it recursses itself.
Rule f1: The level of the array separator repeats the array with the center as the number which is everywhere else in the array. The amount of times it repeats = b while the base = a, this can be written like e(a,b[1,2]2)
Rule f2: Repeat the array (Rule f1) on the previous entry from c in the separator array with all other entries before it to be a (also have the array outside the separator be a's). Repeat this b times. Write it with a and b before the separator, and increase the next entry (c) while reverting the end number to a 2 and the separator entries before c to 1.
Rule f3: To increase the first separator entry. write each a entry b times per b orders to get from e(#[c,2]#[c,2]#) (# is b a's per each b levels) to e(a,b[c+1,2]2)
e(a,a[(a,a[(a,a[(a,a[(a,a[a]a)]a)]a)]a)]a)ON = e(a,6[1,2]2)ON
e(a,3,2[1,2]2)ON = e(a,a[(a,a[...]a)]a)ON (e(a,a[(a,a[...]a)]a)ON (a times)times)
e(a,b,2[1,2]2)ON = e(a,a[(a,a[...]a)]a)ON (e(a,b-1,2[1,2]2)ON times)
e(a,a,2[1,2]2)ON = e(a,2,3[1,2]2)ON
e(a,b,c[1,2]2)ON = e(a,(a,b-1,c[1,2]2),c-1[1,2]2)ON
e(a,a,a[1,2]2)ON = e(a,2,1,2[1,2]2)ON = e(a,3[2]2[1,2]2)ON
e(a,a[(a,a[...]a)]a[1,2]2)ON (b times) = e(a,b[1,2]2[1,2]2)ON = e(a,b[1,2]3)ON
e(#[1,2]#...[1,2]#)ON (# is b a's per each b levels. b#) = e(a,b[2,2]2)ON
e(2,2[2]2,2[1,2]2,2[2]2,2)ON = e(2,2[2,2]2)ON
e(#[c,2]#[c,2]#)ON (# is b a's per each b levels) = e(a,b[c+1,2]2)ON
e(a,a[a,b]a)ON = e(a,2[1,b+1]2)ON
e(a,a[(a,a[a,b]a),b]a)ON = e(a,3[1,b+1]2)ON
e(a,a[(a,a[(a,a[(...),c]a),c]a),c]a)ON (b times from first separator to last one) = e(a,b[1,c+1]2)ON
e(a,a[a,(a,a[a,(a,a[a,(a,[a,(...)]a)]a)]a)ON (b times) = e(a,b[1,1,2]2)ON
e(a,a[a,(a,a[a,(a,a[(a,[a,(...),c]a),c]a),c]a)ON (b times) = e(a,b[1,1,c+1]2)ON
e(a,a[a,a,(a,a[a,a,(a,a[a,a,(a,a[a,a(...)]a)]a)]a)ON (b times) = e(a,b[1,1,1,2]2)ON
Rule p1: If there are too many entries on a separator array. Such higher level separators can be placed the same way.
e(a,b[c,c,c,c,c...]e)ON (d c's in the separator) = e(a,b[c,d[2]2]e)ON
e(a,b[c,c,c,c,c...[e]f]g)ON (d c's in the separator) = e(a,b[c,d[e]f+1]g)ON
Rule p2: The recursion rules are the same inside the separator, as it were for the normal array
e(2,2[2]2,2[4,7,5,2,3,5]2,2[2]2,2)ON = e(2,2[5,7,5,2,3,5]2)ON
e(a,a[a,1,1,1,2]a)ON = e(a,2[1,2,1,1,2]a)ON
e(a,3[1,1,3,1,2]2)ON = e(a,a[a,(a,a[a,a,2,1,2]a),2,1,2]a)ON
e(a,b[d,d,d,d,d,d,d,d,d,d]c)ON = e(a,b[d,10[2]2]c)ON
e(3,4[9,9[2](3,4[9,9[2](3,4[9,9[2]9]4)]4)]4)ON = e(3,4[9,4[2]1,2]4)ON
e(a,b[3,3[2]3,3]c)ON = e(a,b[3,2[3]2]c)ON
e(b,c[a,a[a,a,(a,a[a,a,(a,a[a,a,(a,a[a,a(...)]a)]a)]a]d)ON (e times)= e(b,c[a,e[1,2]2]d)ON
e(b,c[a,a[(a,a[(a,a[(...),2]a),2]a),2]a]d)ON (e times) = e(b,c[a,e[1,3]2]d)ON
e(b,c[a,a[a,(a,a[a,(a,a[a,(...)]a)]a)]a]d)ON (e times) = e(b,c[a,e[1,1,2]]d)ON
e(a,b[c,d[e,e,e,e]f]g)ON = e(a,b[c,d[e,4[2]2]f]g)ON