| ⊦ fs ' = _type, fs ' = _length, (addarray(r0, ty, vals, st)[r -- fs ']) = st[r -- fs '] |
⊦ addarray(r, ty, vals, st) = addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])
⊦ (addarray(r0, vals, j, st)[r -- fs ']) = st[r -- fs ']
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)])], [EXTRATERMS : (st, vals, ty, r0)]]