User blog:Mirai Nikki/Cosmic's Array Notation introduction.

Preface

Of all the dedicated and simplistic googological notations initially propagated via the internet, almost certainly the most well-known is Jonathan Bowers' array notation. This notation provides a simple notation which can be fully grasped by most people with a relatively small amount of explanation, yet can be extended to reach vast heights. A similar system, which begins with nearly identical rules, but is extended in a much different manner, is said by its creator, Chris Bird, to reach heights far beyond that of Bowers' notations long before it is fully exhausted; however, his claims have not, to my current knowledge and understanding, been fully peer-reviewed for accuracy. This is something I will be attempting to do as I continue to expand on this notation.

The purpose of Cosmic's Array Notation (CAN) is to create a completely unambiguous and (somewhat) easily-understandable varaint of array notation reaching beyond Bird's functions; and, in the process, uniting various ideas of Bird and Bowers' into a single entity. Let's get started, shall we?

I. One-Array Superstructures

Superstructure: The collection of all structures, arrayspace sets, operational arrays, and entries we are considering when evaluating an expression in CAN; in classical array notation, this could be called "the entirety of the array."

Entry: A single integer contained within an arrayspace set. For example, in the array {3,5,2}, the entries are 3, 5, and 2. Entries are separated from each other within arrayspace sets by commas.

Operator: A character recognized by the rules of CAN, which, when evaluated, will, in some manner, reconfigurate an entry, arrayspace set, operational array, or structure within the superstructure. Operators include &, /, -, and ". An arrayspace operator, which can legally be contained in an array, is separated via commas; for example, {3,3,"} would be a valid expression, whereas {3,3"} would not. Other operators (separated operators) cannot be validly placed within a numerical array; in such cases, operators are contained within operational arrayspace sets.

Arrayspace Set: A set, enclosed by {} brackets, containing one or more entries or arrayspace operators.

Operational Arrayspace Set: A set, enclosed by [] brackets, containing one or more separated operators.

Subspace: A space consisting collection of objects within a dimension; informally, subspaces can be thought of as being dimensions within dimensions. Subspaces can have any number of subspaces within them.

Structure: Any single separate object within the superstructure. These can be entries, arrayspace/separated operators, both forms of arrayspace sets, dimensions, subspaces, or even the entire superstructure.

Linear Non-Operational Array Solution Rules:

1. If any arrayspace set does not have a designation value, remove each assigned value (if any exists) from all arrayspace sets, then assign each arrayspace set a designation value, starting from the first and continuing to the right, incrementing the assigned value by one for each arrayspace set.

2. Select the arrayspace set with the largest designation value, and apply the following rules:
 * If the arrayspace set exists on the same subspace as any other arrayspace set, create a new subspace and move the array there. This subspace will be assigned a designation value equal to that of the arrayspace set which is being moved there.
 * If the second entry of the arrayspace set is the final entry of the arrayspace set (evaluating from left to right), or all subsequent entries are equivalent to 1, remove the second entry and replace the first entry with the value n^m, where n is the arrayspace set's former first entry and m is the arrayspace set's former second entry.
 * If the above rule does not apply, replace the entry immediately preceding the first non-1 entry after the second entry in the arrayspace set with the symbol v. Create a subspace within the subspace the arrayspace set is currently contained within, and replace it with an arrayspace set equivalent to the arrayspace set which existed before the previous portion of this rule applied, except that the second entry is decremented by 1. In the original arrayspace set, currently residing in the original subspace, decrement the first non-1 entry after the second entry by 1, then modify the value of each entry other than the first non-1 entry after the second entry to be equivalent to the second entry.

In the above, we have now defined all of the rules of linear BEAF. Note that I have not bothered to define bases or primes, but instead referred to them, in all cases, using the full definiton of the terms; this will become important later on.