| 0 ≤ i1, 0 ≤ j, 0 ≤ n→i(# bytes) + i1, 0 ≤ j + n→i(# bytes) + i1, r0 ≠ r ∨ sk ≠ _length ⊦ (putArray(mkjavavalues(bytes), r, j, putArray(mklist(initial_value(byte_type), (i→n(i1) + # bytes) + i→n(j)), r, 0, st)) [r -- _type, typeval(mkarraytype(byte_type)) ] [r -- _length, intval(j + n→i(# bytes) + i1) ] [r0 -- sk ] ) = (putArray(mklist(initial_value(byte_type), i→n(j)) + mkjavavalues(bytes) + mklist(initial_value(byte_type), i→n(i1)), r, 0, st) [r -- _type, typeval(mkarraytype(byte_type)) ] [r -- _length, intval(j + n→i(# bytes) + i1) ] [r0 -- sk ] ) |
0 ≤ j + n→i(# bytes) + i1, 0 ≤ n→i(# bytes) + i1, 0 ≤ j, 0 ≤ i1 ⊦ (putArray(mkjavavalues(bytes), r, j, putArray(mklist(initial_value(byte_type), (i→n(i1) + # bytes) + i→n(j)), r, 0, st)) [r -- _type, typeval(mkarraytype(byte_type)) ] [r -- sk ] ) = (putArray(mklist(initial_value(byte_type), i→n(j)) + mkjavavalues(bytes) + mklist(initial_value(byte_type), i→n(i1)), r, 0, st) [r -- _type, typeval(mkarraytype(byte_type)) ] [r -- sk ] ), sk = _length
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ sk ≠ sk0 → (st[r -- sk, val][r0 -- sk0]) = st[r0 -- sk0]], [CSIMPSEQ : ⊦ r ≠ r0 → (putArray(vals, r, j, st) [r0 -- sk ] ) = st[r0 -- sk]], [CSIMPSEQ : ⊦ r ≠ r0 → (st[r0 -- sk0, val][r -- sk]) = st[r -- sk]], [CSIMPSEQ : ⊦ i + j = j + i])]]