| st[r -- j '] = refval(r0), st[r -- i '] = refval(r0), i < st[r -- _length] .intval, j < st[r -- _length] .intval, is_arraytype(st[r -- _type] .type), 0 ≤ i, 0 ≤ j, 0 < st[r -- _length] .intval ⊦ r0 = jvmref, i = j, r = jvmref, fits(r, i ' ', st) ∧ fits(r, j ' ', st) |
⊦ fits(r, sk ', st) ↔ r ≠ jvmref ∧ is_referencevalue(st[r -- sk]) ∧ (is_classtype(st[r -- _type] .type) → sk ∈ instfields(st[r -- _type] .type .class)) ∧ (is_arraytype(st[r -- _type] .type) → is_indexkey(sk) ∧ 0 ≤ sk .index ∧ sk .index < st[r -- _length] .intval)
st[r -- j '] = refval(r0), st[r -- i '] = refval(r0), i < st[r -- _length] .intval, j < st[r -- _length] .intval, is_arraytype(st[r -- _type] .type), 0 ≤ i, 0 ≤ j, 0 < st[r -- _length] .intval ⊦ r0 = jvmref, i = j, r = jvmref, fits(r, i ' ', st) ∧ r ≠ jvmref ∧ is_referencevalue(st[r -- j ']) ∧ (is_classtype(st[r -- _type] .type) → j ' ∈ instfields(st[r -- _type] .type .class)) ∧ (is_arraytype(st[r -- _type] .type) → is_indexkey(j ') ∧ 0 ≤ j ' .index ∧ j ' .index < st[r -- _length] .intval)
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, j ', r)]]