| getarray(r1, i1, i3, st0) = getarray(r2, i2, i3, st0), i2 + i3 ≤ st0[r2 -- _length] .intval, i < i3, okarray(r2, int_type, st0), 0 ≤ i2, 0 ≤ i, 0 < i3, r2 ∈ st0 ⊦ st0[r2 -- (i2 + i) ', intval(st0[r1 -- (i1 + i) '] .intval)] = st0, r2 = jvmref |
⊦ getarray(r, i, j, st) = getarray(r0, i0, j, st0) ↔ (∀ j0. 0 ≤ j0 ∧ j0 < j → st[r -- (i + j0) '] = st0[r0 -- (i0 + j0) '])
∀ j0. 0 ≤ j0 ∧ j0 < i3 → st0[r1 -- (i1 + j0) '] = st0[r2 -- (i2 + j0) '], i2 + i3 ≤ st0[r2 -- _length] .intval, i < i3, okarray(r2, int_type, st0), 0 ≤ i2, 0 ≤ i, 0 < i3, r2 ∈ st0 ⊦ st0[r2 -- (i2 + i) ', intval(st0[r1 -- (i1 + i) '] .intval)] = st0, r2 = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st0, i2, r2, st0, i3, i1, r1)]]