Extensible-E System

The Extensible-E System (ExE) is an array notation by Sbiis Saibian. It is a blanket term for the following notations (each one an extension of the last) and any future extensions to come:


 * Hyper-E Notation (E#)
 * Extended Hyper-E Notation (xE#)
 * Cascading-E Notation (E^)
 * Extended Cascading-E Notation (xE^)
 * Hyper-Extended Cascading-E Notation (#xE^)

ExE could also be called "SAN" (Saibian's array notation), similar to BAN (Bird's array notation) or HAN (Hyperfactorial array notation or Hollom's array notation).

Basics
The form of every ExE expression is  where each a is a positive integer, and each & is a delimiter. A delimiter is a special string of one or more symbols with a syntax and alphabet defined by the notation in question:


 * Hyper-E has only one delimiter,
 * Extended Hyper-E allows one or more copies of
 * Cascading-E Notation introduces
 * Extended Cascading-E Notation introduces
 * Hyper-Extended Cascading-E Notation introduces
 * (WIP) Hyper-Hyper-Extended Cascading-E Notation Introduces {Arrays of delimeters}
 * (WIP) Solidus Cascading-E Notation Introduces /

The latter notations also introduce fundamental sequences (named after an equivalent concept in ordinal theory) for some types of delimiters.

All ExE type notations follow 5 fundamental laws. These laws have priority, where the earlier the law, the higher priority it has. The priority of any given law only fails if its conditions are not met, in which case one proceeds to the next law. The first law whose conditions are met is the one that is executed. Such a law is guaranteed to exist because the last law has no requirements other than the failure of all the previous laws. The 5 laws are:

1. Base Case. If there is only a single argument: En = 10^n

2. Decomposition Case. If the last delimiter is decomposable: @m&n = @m&[n]m

3. Terminating Case. If the last argument = 1: @&1 = @

4. Expansion Case. If the last delimiter is not the proto-hyperion: @m&*#n = @m&m&*#(n-1)

5. Recursive Case. Otherwise: @m#n = @(@m#(n-1))

The laws are set up so many necessary conditions are implicit. For example, the decomposition case wouldn't apply unless there is more than one argument. This doesn't need to be explicitly stated because the decomposition case can only apply if the base case has already failed, which can only happen if there is more than one argument. Consequently although the last law has no conditions, in fact it can only apply if there is at least two arguments, the last argument is greater than one, and the last delimiter is the proto-hyperion.

For the lowest level notations, some of the rules may never apply. For example in xE#, there are no decomposable delimiters, so Rule 2 never applies. In E#, there is only the hyperion as a delimiter, so neither Rule 2 or Rule 4 ever applies.