Extended Array Notation

Extended Array Notation (BEAN ) is a multidimensional version of Array notation, created by Jonathan Bowers.

Rules
These rules will be dropped to Main Rules and Array-Building Rules for conveniences.

Main Rules
Rule M1. Condition: only 2 entries.

\(\lbrace a,b \rbrace = a^b\)

Rule M2. Condition: 2nd entry is 1.

\(\lbrace a,1 \# \rbrace = a\)

Rule M3. Condition: \(n<m\).

\(\lbrace \# (n) 1 (m) \# \rbrace = \lbrace \# (m) \# \rbrace\)

\(\lbrace \# (n) 1 \rbrace = \lbrace \# \rbrace\)

Rule M4. Condition: batch of separators before non-1 entry.

\(\lbrace a,b (n_1)(n_2) \cdots (n_x) c \# \rbrace = \lbrace b^{n_1} \& a (n_1) b^{n_2} \& a (n_2) \cdots b^{n_x} \& a (n_x) c-1 \# \rbrace\)

Rule M5. Condition: string of 1's between batch of separators and non-1 entry.

\(\lbrace a,b (n_1)(n_2) \cdots (n_x) 1,\cdots,1,c \# \rbrace = \lbrace b^{n_1} \& a (n_1) b^{n_2} \& a (n_2) \cdots b^m \& a (m) a,\cdots,\lbrace a,b-1 (n_1)(n_2) \cdots (n_x) 1,\cdots,1,c \# \rbrace,c-1 \#\rbrace\)

Rule M6. String of 1's in the main row.

\(\lbrace a,b,1,\cdots,1,c \#\rbrace = \lbrace a,a,a,\cdots,\lbrace a,b-1,1,\cdots,1,c \# \rbrace,c-1 \#\rbrace\)

Rule M7. Rules M1-M6 doesn't apply.

\(\lbrace a,b,c \#\rbrace = \lbrace a,\lbrace a,b-1,c \# \rbrace,c-1 \#\rbrace\)

Array-Building Rules
Rule A1. \(n = 0\).

\(b^0 \& a = a\)

Rule A2. Otherwise.

\(b^n \& a = \lbrace {(b-1)}^n \& a (n-1) b^{n-1} \& a \rbrace\)