| st[r0 -- _type] = st0[r0 -- _type], st[r0 -- _length] = st0[r0 -- _length], is_arraytype(st0[r0 -- _type] .type), path∃(str, r, r0, st), path∃(str, r, r0, st0), is_indexkey(sk), sk .index < st0[r0 -- _length] .intval, 0 ≤ sk .index, 0 < st0[r0 -- _length] .intval, ∀ i. ¬ i < 0 ∧ ¬ st0[r0 -- _length] .intval ≤ i → st[r0 -- i '] = st0[r0 -- i '] ⊦ r0 = jvmref, st[r0 -- sk] = st0[r0 -- sk] |
sk = i0 ', st[r0 -- _type] = st0[r0 -- _type], st[r0 -- _length] = st0[r0 -- _length], is_arraytype(st0[r0 -- _type] .type), path∃(str, r, r0, st), path∃(str, r, r0, st0), is_indexkey(sk), i0 < st0[r0 -- _length] .intval, 0 ≤ i0, 0 < st0[r0 -- _length] .intval, ∀ i. ¬ i < 0 ∧ ¬ st0[r0 -- _length] .intval ≤ i → st[r0 -- i '] = st0[r0 -- i '] ⊦ r0 = jvmref, st[r0 -- sk] = st0[r0 -- sk]
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ is_indexkey(sk) → (i = sk .index ↔ sk = i ')])], [EXTRATERMS : (sk, i0)]]