## Pre-and-post-sub-and-sup-cells

Four arrows pointing to an O:

lst:listify(permutations([[postsubscript,↖], [postsuperscript,↙], [presuperscript,↘], [presubscript,↗]]))$
for i in lst do
(apply (declare_index_properties, [O, makelist(o[1],o,i)]), 
    print (arraymake (O, makelist(o[2],o,i))))$

Three arrows pointing to an O:

for i in unique(sort(map('rest,lst))) do
(apply (declare_index_properties, [O, makelist(o[1],o,i)]), 
    print (arraymake (O, makelist(o[2],o,i))))$

Two arrows pointing to an O:

for i in unique(sort(map('rest,map('rest,lst)))) do
(apply (declare_index_properties, [O, makelist(o[1],o,i)]), 
    print (arraymake (O, makelist(o[2],o,i))))$

One arrow pointing to an O:

for i in unique(sort(map('rest,map('rest,map('rest,lst))))) do
(apply (declare_index_properties, [O, makelist(o[1],o,i)]), 
    print (arraymake (O, makelist(o[2],o,i))))$

## More or less index properties than indices

A[a,b,c];

B[a,b,c];

C[a,b,c];

D[a,b,c];

E[a,b,c];

F[a,b,c];

G[a,b,c];

H[a,b,c];

I[a,b,c];

J[a,b,c];

K[a,b,c];

L[a,b,c];

M[a,b,c];

N[a,b,c];

O[a,b,c];

P[a,b,c];

Q[a,b,c];

R[a,b,c];

S[a,b,c];

T[a,b,c];

U[a,b,c];

V[a,b,c];

W[a,b,c];

X[a,b,c];

A[a,b,c];

B[a,b];

C[a,b];

D[a,b];

E[a,b];

F[a,b];

G[a,b];

H[a,b];

I[a,b];

J[a,b];

K[a,b];

L[a,b];

M[a,b];

N[a,b];

O[a,b];

P[a,b];

Q[a,b];

R[a,b];

S[a,b];

T[a,b];

U[a,b];

V[a,b];

W[a,b];

X[a,b];

A[a];

B[a];

C[a];

D[a];

E[a];

F[a];

G[a];

H[a];

I[a];

J[a];

K[a];

L[a];

M[a];

N[a];

O[a];

P[a];

Q[a];

R[a];

S[a];

T[a];

U[a];

V[a];

W[a];

X[a];

declare_index_properties(O,[postsuperscript,postsuperscript,postsuperscript,postsuperscript]);

O[1,2,3,4];