| okarray(refval(r0), byte_type, st[r0 -- _length] .intval, st) ⊦ r0 = jvmref, okreftype(refval(r0), mkarraytype(byte_type), st[r0 -- j ', byteval(by)]) ∧ refval(r0) .refval ≠ jvmref ∧ (refval(r0) .refval -- _length) × intval(st[r0 -- _length] .intval) ∈ st[r0 -- j ', byteval(by)] ∧ 0 ≤ st[r0 -- _length] .intval ∧ is_arrayref(refval(r0) .refval, st[r0 -- _length] .intval, st[r0 -- j ', byteval(by)]) ∧ (∀ j0. 0 ≤ j0 ∧ j0 < st[r0 -- _length] .intval → oktype(st[r0 -- j ', byteval(by)][refval(r0) .refval -- j0 '], byte_type, st[r0 -- j ', byteval(by)])), ¬ j < 0 ∧ ¬ st[r0 -- _length] .intval ≤ j |
⊦ oktype(val, byte_type, st) ↔ is_bytevalue(val)
okarray(refval(r0), byte_type, st[r0 -- _length] .intval, st) ⊦ r0 = jvmref, ¬ j < 0 ∧ ¬ st[r0 -- _length] .intval ≤ j, okreftype(refval(r0), mkarraytype(byte_type), st[r0 -- j ', byteval(by)]) ∧ r0 -- _length ∈ st ∧ st[r0 -- _length] = intval(st[r0 -- _length] .intval) ∧ ¬ st[r0 -- _length] .intval < 0 ∧ is_arrayref(r0, st[r0 -- _length] .intval, st[r0 -- j ', byteval(by)]) ∧ (0 ≤ j0 ∧ j0 < st[r0 -- _length] .intval → is_bytevalue((j0 = j ⊃ byteval(by); st[r0 -- j0 '])))
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ i ' = i0 ' ↔ i = i0], [CSIMPSEQ : ⊦ ¬ i ≤ j ↔ j < i], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ ¬ ¬ (r = r0 ∧ sk = sk0)], [CSIMPSEQ : ⊦ (st[rk0, val][rk]) = ((rk = rk0 ⊃ val; st[rk]))], [CSIMPSEQ : sk ≠ sk0 ⊦ r -- sk ∈ st[r -- sk0, val] ↔ r -- sk ∈ st], [CSIMPSEQ : ⊦ _length ≠ i '], [CSIMPSEQ : ⊦ rk × val ∈ st ↔ ¬ ¬ (rk ∈ st ∧ st[rk] = val)], [CSIMPSEQ : ⊦ refval(r) .refval = r])]]