| newref(r, st0), st ⊆ st0, r0 -- sk ∈ st, r0 ∈ st ⊦ r = jvmref, r0 -- sk ∈ addarray(r, ty, vals, st0) ∧ st[r0 -- sk] = (addarray(r, ty, vals, st0)[r0 -- sk]) |
⊦ rk ∈ st → rk ∈ addarray(r, ty, vals, st)
⊦ newref(r, st) ∧ r0 ∈ st → (addarray(r, ty, vals, st)[r0 -- sk]) = st[r0 -- sk]
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ rk ∈ st ∧ ¬ rk ∈ st0 → ¬ st ⊆ st0], [CSIMPFORWARD : ⊦ r -- sk ∈ st → r ∈ st], [CSIMPSEQ : ⊦ rk ∈ st ∧ st ⊆ st1 → (st[rk] ≠ st1[rk] ↔ false)])], [EXTRATERMS : (st0, vals, ty, r, r0 -- sk)]]