| st[r -- i '] = refval(r0), st[r -- j '] = refval(r0), 0 < st[r -- _length] .intval, 0 ≤ j, 0 ≤ i, is_arraytype(st[r -- _type] .type), j < st[r -- _length] .intval, i < st[r -- _length] .intval ⊦ r = jvmref, i = j, r0 = jvmref, fits(r, i ' ', st) ∧ fits(r, j ' ', st) ∧ i ' ' ≠ j ' ' ∧ i ' ' ≠ [] ∧ j ' ' ≠ [] ∧ st[r -- i ' '] .refval ≠ jvmref ∧ st[r -- i ' '] = st[r -- j ' '] |
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)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ refval(r) .refval = r], [CSIMPSEQ : ⊦ st[r -- sk '] = st[r -- sk]], [CSIMPSEQ : ⊦ sk ' ≠ []], [CSIMPSEQ : ⊦ i ' = i0 ' ↔ i = i0], [CSIMPSEQ : ⊦ sk ' = sk0 ' ↔ sk = sk0])]]