| 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) |
⊦ is_fskey(sk) ∨ r0 ≠ r → putArray(vals, r, i, st[r0 -- sk, val]) = (putArray(vals, r, i, st)[r0 -- sk, val])
is_fskey(_length) ∨ r ≠ r, 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)
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ is_fskey(_length)])], [EXTRATERMS : (intval(j + n→i(# bytes) + i1), _length, r, addarray (r, initial_value(byte_type), j + n→i(# bytes) + i1, st) [r -- _type, typeval(mkarraytype(byte_type)) ], j, r, mkjavavalues(bytes))]]