| newref(r0, st), newref(r0, st0), i < 0 ∨ n→i(# vals) ≤ i ⊦ (st ∪ st0)[r0 -- i '] = (st ∪ addarray(r0, ty, vals, st0))[r0 -- i '], r0 = jvmref |
⊦ ¬ rk ∈ st0 → (st ∪ st0)[rk] = st[rk]
¬ ¬ r0 -- i ' ∈ addarray(r0, ty, vals, st0), newref(r0, st), newref(r0, st0), i < 0 ∨ n→i(# vals) ≤ i ⊦ (st ∪ st0)[r0 -- i '] = (st ∪ addarray(r0, ty, vals, st0))[r0 -- i '], r0 = jvmref
⊦ r -- j ' ∈ addarray(r, ty, vals, st) ↔ r -- j ' ∈ st ∨ 0 ≤ j ∧ j < n→i(# vals)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ ¬ rk ∈ st0 → (st ∪ st0)[rk] = st[rk]])], [EXTRATERMS : (r0 -- i ', addarray(r0, ty, vals, st0), st)]]