| ⊦ rk .ref ≠ r → (addarray(r, ty, i, st)[rk]) = st[rk] |
⊦ addarray(r, ty, i, st) = addarray(r, initial_value(ty), i, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(i)])
⊦ rk .ref ≠ r → (addarray(r, val, i, st)[rk]) = st[rk]
⊦ rk .ref = r, ((rk = r -- _length ⊃ intval(i); (rk = r -- _type ⊃ typeval(mkarraytype(ty)); st[rk]))) = st[rk]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))])]]