User blog:Rgetar/Improvement of my multi-dimensional array notation

Today I came up with how to simplify my multi-dimensional array notation with <> separators.

My older notation
For my [X]a family of functions, array notation with <> separators, generalized Veblen function see blogs: 1, 2, 3.

<> separators were inspired by BEAF separators : (n) means transition through one n-dimensional space. But to designate transition through many spaces we need many separators. For example, transition through 3 planes is designated as (2)(2)(2).

<> separators allow to designate transition through many spaces (even of non-equal dimensionality) as one <> separator. For example, (2)(2)(2) = <3,0,0>; (1)(2)(2)(2) = <3,1,0>.

Initially I used this notation for my [X]a family of functions, but later I realized that it may be used for designation of any arrays of any entities. Particularly, I used it for arrays of variables of Veblen function and its multi-dimensional (multi-trimensional etc.) extension.

New notation
I noticed that we often need to add and subtract <> separators.

Today I came up with the idea to designate numbers of spaces from the beginning of an array instead of difference of numbers of spaces between elements of the array, so we no more need to add and subtract <> separators.

So, now <> separators are just "coordinates" of an element in the array.

<0> we may omit (as in older notation):

X<0> = X

So, the corresponding element is the last element of array with zero coordinates.

But now comma is no more <1>: comma is still separator between two adjacent elements, whereas <1> now is coordinates of the second right element.

Zero elements may be omitted: we may omit all 0&lt;X&gt;.

[X]a
Rule 3 for successor leo(Xn*).

Old version:

X·a = X*-1<1>(X'; 1; a)

New version:

X·a = X*-1(X'; 1; a)

(Rules 1, 2 are without changes).

General rules are without changes, but definition of (X·a; {βn}) changed.

Old version:

(X·a; {βn}) = lest(X*; β0)<-β1+leo(X'*)>(X"; 1; a)<(X'·a; {βn+1})>

New version:

(X·a; {βn}) = lest(X*; β0)(X"; 1; a)<(X'·a; {βn+1})>

Veblen function
My definition of Veblen function is without changes, but a lot of things become more clear, including those from 3 blog.

Now designation of extended Veblen function using <> separators is just a modified form of the Schutte Klammersymbolen. For example,

\(\begin{pmatrix}\alpha_1 & \alpha_2 & \alpha_3 & \alpha_4 & \alpha_5 \\\beta_1 & \beta_2 & \beta_3 & \beta_4 & \beta_5 \end{pmatrix} = φ(α1<β1>α2<β2>α3<β3>α4<β4>α5<β5>)

Coordinates of array elements
In old notation coordinates of array elements were not visible, but in new notation coordinates are just inside <> separators.

sonze(X; Y)
For example, for array

X = α1<β1>α2<β2>α3<β3>α4<β4>α5<β5>

sonze(X; Y) is set of non-zero values of elements αn of part Y (as in old notation).

If αn ≠ 0 then

sonze(X; X) = {α1, α2, α3, α4, α5}

soconze(X; Y)
For array

X = α1<β1>α2<β2>α3<β3>α4<β4>α5<β5>

soconze(X; Y) is set of βn for non-zero elements αn of part Y.

If αn ≠ 0 then

soconze(X; X) = {β1, β2, β3, β4, β5}

isonze(X; Y)
isonze(X; Y) is just set of all non-zero elements of part Y of array X, including those inside of all <> separators not following zeros.

cofrewnzeloi(X)
For example,

X = α1<β1>α2<β2>α3<β3>α4<β4>α5<β5>

αn ≠ 0

cofrewnzeloi(X) is just β1.

If X = 0 then cofrewnzeloi(X) = 0.

Conclusion
From now on I probably will use this new notation instead of the old one.