| unchanged(str, r, st, st0) ∧ is_valid_ref(str, r, st) ∧ r ≠ jvmref, st[r -- _length] = st0[r -- _length], unchanged(str, r, st, st0), okbytearray(r, st), j < st0[r -- _length] .intval, 0 ≤ j, 0 < st0[r -- _length] .intval ⊦ st[r -- j '] .byteval = st0[r -- j '] .byteval, r = jvmref, is_arraytype(st[r -- _type] .type) ∧ unchangedNorec(r, st, st0) |
st[r -- _length] = st0[r -- _length], unchanged(str, r, st, st0), okbytearray(r, st), j < st0[r -- _length] .intval, 0 ≤ j, 0 < st0[r -- _length] .intval ⊦ st[r -- j '] .byteval = st0[r -- j '] .byteval, r = jvmref, unchangedNorec(r, st, st0)
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : javatype, , test-09, ⊦ is_arraytype(mkarraytype(ty))], [CSIMPNAMEDSEQ : javavalue, , sel-11, ⊦ typeval(ty) .type = ty], [CSIMPNAMEDSEQ : okfuns, , okbytearray-type, ⊦ okbytearray(r, st) → st[r -- _type] = typeval (mkarraytype(byte_type))], [CSIMPNAMEDSEQ : addfuns, , is_valid_ref-okbytearray, ⊦ okbytearray(r, st) → is_valid_ref(str, r, st)])]]