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