Simple Aarex Array Notation is an first part of Aarex's Array Notation. This part focus the primary things.
First, we need an definition. The simple Aarex's Array Notation can be look like the expression:
a(a,b,c,...)x[y]
The integers a, b, c, etc.; are the entries, the symbol , (comma) is the separator where is between the entries, and the outermost "a" (like this can be place outside of the array entries) meaning this expression can be Aarex's Array Notation.
The first entry and second entry of AAN are called base and iterator.
The string x[y] is optional and can be removable. x and y means nester and multiplier. Outermost a and x are always be 'a' character and 'x' character.
Every array needs to results in a number. To solve it, we need some rules and processes as follows: (Thanks to Nayuto Ito for helping me defining english version.)
where # is the part of array (a string of separators between the entries or empty string.)
If neither of 5 rules applied, start the process shown below. First, start from the third entry.
In English, find the third non-zero entry, subtract the entry by one, then change the previous entry with the second entry.
2-entry arrays are always applied to rule 1a. That means a(a,b) is equal to s(a,b) = ab.
The simplest 3-entry array is a(a,b,0), which is resulted as a multiplied by b.
The next term is a(a,1,1). However rules 1-2 didn't apply, but we can apply rule 3. a(a,1,1) will become a(a,1,0)x[1]. Rules 2/4 applied because the multiplier is 1. a(a,1,0)x[1] will become a(a,1)x[1] then a(a,1), then finally a.
Let look the term a(a,2,1). a(a,2,1) will become a(a,2,1)x[2] (rule 3), a(a,2)x[2] (rule 2), a(a,a(a,2)x[1]) (rule 5), a(a,a(a,2)) (rule 4), a(a,a^2) (rule 1), then finally a^4.
We can repeat the terms like: a(a,3,1) -> a(a,a(a,a(a,3))), a(a,4,1) -> a(a,a(a,a(a,a(a,4)))), a(a,5,1) -> a(a,a(a,a(a,a(a,a(a,5))))), etc.
The next set of terms is a(a,b,2). By rule 3, a(a,b,2) will equal to a(a,a(a,a(a,... a(a,a(a,a(a,b,1),1),1) ...,1),1),1) with b levels. We can compute as the same rule like: a(a,b,3), a(a,b,4), a(a,b,5), ...
But what is the limit of 3-entry arrays? We could start the process rule that didn't applied other rules. Since a(a,b,0,1) did not applied other rules, we can start the process with the third entry.
By case A; we would select the 4th entry. And by case B; we decrease 1 to 0 and change the former 0 to b. So a(a,b,0,1) will become a(a,b,b).
In a(a,b,1,1) terms, we should apply rule 3. But in a(a,b,0,2) terms, we should apply the process rule. 2 will become 1 and 0 will become b. In further terms, a(a,b,0,c) will apply the process rule.
Can we go further than 4-entry arrays? Yes because a(a,b,0,0,1) will computed by the process. The 4th entry can be apply case B? No because case B was applied on the 5th entry, which is equal to 1. Therefore: a(a,b,0,0,1) = a(a,b,0,b).
We can process the 5-entry arrays like; a(a,b,0,1,1), a(a,b,0,2,1), a(a,b,0,d,1), a(a,b,0,0,2), a(a,b,0,d,2), a(a,b,0,0,3), a(a,b,0,0,4), a(a,b,0,0,e), etc. We also process the 6-entry arrays, like a(a,b,0,0,0,1) = a(a,b,0,0,b), 7-entry, 8, 9, ... up to the limit of simple arrays.