| 0 ≤ j ⊦ putArray (mkjavavalues(bytes), r, j, addarray(r, initial_value(byte_type), n→i(# bytes) + j, st)[r -- _type, typeval(mkarraytype(byte_type))][r -- _length, intval(n→i(# bytes) + j)]) = addarray(r, byte_type, mklist(initial_value(byte_type), i→n(j)) + mkjavavalues(bytes), st) |
⊦ addarray(r, ty, vals, st) = addarray(r, vals, 0, st[r -- _type, typeval(mkarraytype(ty))][r -- _length, intval(n→i(# vals))])
0 ≤ j ⊦ putArray (mkjavavalues(bytes), r, j, addarray(r, initial_value(byte_type), n→i(# bytes) + j, st)[r -- _type, typeval(mkarraytype(byte_type))][r -- _length, intval(n→i(# bytes) + j)]) = addarray (r, mklist(initial_value(byte_type), i→n(j)) + mkjavavalues(bytes), 0, st[r -- _type, typeval(mkarraytype(byte_type))][r -- _length, intval(n→i(# (mklist(initial_value(byte_type), i→n(j)) + mkjavavalues(bytes))))])
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (st, mklist(initial_value(byte_type), i→n(j)) + mkjavavalues(bytes), byte_type, r)]]