| st[r -- _length] = intval(i0), st[r -- _type] = typeval(mkarraytype(byte_type)), j < i0, r -- _type ∈ st, r -- _length ∈ st, is_arrayref(r, i0, st[r -- i ', byteval(by)]), r ∈ st, 0 ≤ i0, 0 ≤ j, 0 < i0, is_bytevalue(st[r -- i ', byteval(by)][r -- j ']), i < 0 ∨ i0 ≤ i ∨ 0 ≤ i ∧ i < i0 ∧ r -- i ' ∈ st ∧ is_bytevalue(st[r -- i ']) ⊦ r = jvmref, is_bytevalue(st[r -- j ']) |
st[r -- _length] = intval(i0), st[r -- _type] = typeval(mkarraytype(byte_type)), j < i0, r -- _type ∈ st, r -- _length ∈ st, is_arrayref(r, i0, st[r -- i ', byteval(by)]), r ∈ st, 0 ≤ i0, 0 ≤ j, 0 < i0, is_bytevalue(st[r -- i ', byteval(by)][r -- j ']), i < 0 ∨ i0 ≤ i ∨ 0 ≤ i ∧ i < i0 ∧ r -- i ' ∈ st ∧ is_bytevalue(st[r -- i ']) ⊦ r -- j ' = r -- i ', r = jvmref, is_bytevalue(st[r -- j '])
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ sk = sk0], [CSIMPSEQ : ⊦ i ' = i0 ' ↔ i = i0], [CSIMPFORWARD : ⊦ i < i0 ∧ i = i1 → i1 < i0], [CSIMPFORWARD : ⊦ i < j ∧ j ≤ j0 → i < j0], [CSIMPFORWARD : ⊦ j < i ∧ i ≤ 0 → j < 0], [CSIMPSEQ : ⊦ i < 0 ∧ 0 ≤ j → i < j], [CSIMPSEQ : ⊦ i ≤ j → (¬ ¬ j < i ↔ false)], [CSIMPSEQ : ⊦ i ≤ j → ( is_arrayref (r, i, st[r0 -- j ', val]) ↔ is_arrayref(r, i, st))], [CSIMPFORWARD : ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1], [CSIMPSEQ : ⊦ ¬ i < j ↔ j ≤ i], [CSIMPSEQ : ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPFORWARD : ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j], [CSIMPSEQ : ⊦ (st[rk, val][rk]) = val], [CSIMPSEQ : ⊦ is_bytevalue(byteval(by))])], [EXTRAFMAS : (r -- j ' = r -- i ')]]