| validrefnotnull(str, r, mkarraytype(ty), st), i + j ≤ st[r -- _length] .intval, st ⊆ st1, 0 ≤ i ⊦ getarray(r, i, j, st) = getarray(r, i, j, st1), r = jvmref |
⊦ st ⊆ st0 ∧ is_arrayref(r, i + j, st) ∧ 0 ≤ i → getarray(r, i, j, st) = getarray(r, i, j, st0)
¬ (st ⊆ st1 ∧ is_arrayref(r, i + j, st) ∧ 0 ≤ i), validrefnotnull(str, r, mkarraytype(ty), st), i + j ≤ st[r -- _length] .intval, st ⊆ st1, 0 ≤ i ⊦ getarray(r, i, j, st) = getarray(r, i, j, st1), r = jvmref
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, st1, r, i, j)]]