| 0 ≤ i0 ⊦ sk = 0 ', (addarray(r, ty, 1 + i0, st)[r -- sk]) = (addarray(r, ty, val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- sk]) |
⊦ is_fskey(sk) ∧ sk ≠ _type ∧ sk ≠ _length → (addarray(r, ty, i, st)[r0 -- sk]) = st[r0 -- sk]
¬ (is_fskey(sk) ∧ sk ≠ _type ∧ sk ≠ _length), 0 ≤ i0 ⊦ sk = 0 ', (addarray(r, ty, 1 + i0, st)[r -- sk]) = (addarray(r, ty, val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- sk])
is_fskey(sk) ∧ sk ≠ _type ∧ sk ≠ _length, 0 ≤ i0 ⊦ sk = 0 ', st[r -- sk] = (addarray(r, ty, val ' + mklist(initial_value(ty), i→n(i0)), st)[r -- sk])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (sk, r, st, 1 + i0, ty, r)]]