演算子を連結した時にbの影響が強くなるようにしてみた
あとリストに0以外が左詰めになっても大丈夫なようにした

a,b,c,k,m,n 非負整数
S0,S1,S2,S3,...,S(k-3),S(k-2),S(k-1),Sk 非負整数
X,Y 0個以上の非負整数のリスト
Xc 0個以上のcより大きい非負整数のリスト
X(c+1) 0個以上のc+1以上の非負整数のリスト
(リスト):m;n
  V=(S0,S1,S2,S3,...,S(k-3),S(k-2),S(k-1),Sk)
  V+a=(S0+a,S1+a,S2+a,S3+a,...,S(k-3),S(k-2)+a,S(k-1)+a,Sk+a)
  V:m;n=(V+0×n,V+1×n,V+2×n,V+3×n,...,V+(m-3)×n,V+(m-2)×n,V+(m-1)×n,V+m×n)
左辺=(a+1)[X]0 ならば @=a[X]0
左辺=(a+1)[X]b ならば @=a[X]b
左辺=(a+1)[X](b+1) ならば @=a[X](b+1)

0[]0=1
(a+1)[]0=@+1
0[X,0]b=1[X]b
(a+1)[X,0]b=@[X]b
0[X,c,Xc,c+1+n]b=1[X,(c,Xc):1;n]b
(a+1)[X,c,Xc,c+1+n]b=@[X,(c,Xc):@;n]b
0[X(c+1),c+1]b=1[X(c+1),c,(1):1;1]b
(a+1)[X(c+1),c+1]b=@[X(c+1),c,(@):@;@]b
0[](b+1)=1[(1):1;1]b
(a+1)[](b+1)=@[(@):@;@]b
a[X]b[Y]c=a[X](b[Y]c)