| r0 -- sk ∈ addarray(r0, ty, n→i(# vals) + 1, st) ↔ r0 -- sk ∈ addarray(r0, ty, refval(jvmref) ' + vals, st), is_reftype(ty), is_fskey(sk) ⊦ sk = _type, sk = _length, st[r0 -- sk] = (addarray(r0, ty, refval(jvmref) ' + vals, st)[r0 -- sk]) |
⊦ is_fskey(sk) ∧ sk ≠ _length ∧ sk ≠ _type → (addarray(r, ty, vals, st)[r0 -- sk]) = st[r0 -- sk]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ is_fskey(sk) ↔ is_indexkey(sk)], [CSIMPSEQ : ⊦ is_indexkey(sk) → ¬ is_fskey(sk)], [CSIMPSEQ : ⊦ ¬ rk ∈ st → st[rk] = ∅[rk]], [CSIMPSEQ : ⊦ ∅[rk] = noval])], [EXTRATERMS : (sk, r0, st, refval(jvmref) ' + vals, ty, r0)]]