| 0 ≤ i1, 0 ≤ j, 0 ≤ n→i(# bytes) + i1, 0 ≤ j + n→i(# bytes) + i1, r0 ≠ r ∨ sk ≠ _length ⊦ ( r0 ≠ r ∨ sk ≠ _type → ( r0 -- sk ∈ putArray(mkjavavalues(bytes), r, j, putArray(mklist(initial_value(byte_type), (i→n(i1) + # bytes) + i→n(j)), r, 0, st)) → r0 -- sk ∈ st ∨ r0 = r ∧ ¬ is_fskey(sk) ∧ ¬ sk .index < 0 ∧ ¬ n→i(# bytes) + j + i1 ≤ sk .index)) ∧ (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 ] ) |
⊦ rk ∈ putArray(vals, r, i, st) ↔ rk ∈ st ∨ rk .ref = r ∧ is_indexkey(rk .key) ∧ i ≤ rk .key .index ∧ rk .key .index < i + n→i(# vals)
0 ≤ i1, 0 ≤ j, 0 ≤ n→i(# bytes) + i1, 0 ≤ j + n→i(# bytes) + i1, r0 ≠ r ∨ sk ≠ _length ⊦ ( r0 ≠ r ∨ sk ≠ _type → ( r0 -- sk ∈ putArray(mklist(initial_value(byte_type), (i→n(i1) + # bytes) + i→n(j)), r, 0, st) ∨ (r0 -- sk) .ref = r ∧ is_indexkey((r0 -- sk) .key) ∧ j ≤ (r0 -- sk) .key .index ∧ (r0 -- sk) .key .index < j + n→i(# mkjavavalues(bytes)) → r0 -- sk ∈ st ∨ r0 = r ∧ ¬ is_fskey(sk) ∧ ¬ sk .index < 0 ∧ ¬ n→i(# bytes) + j + i1 ≤ sk .index)) ∧ (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 ] )
[[CONCRETESIMPRULES : ()], [EXTRATERMS : (putArray (mklist (initial_value(byte_type), (i→n(i1) + # bytes) + i→n(j)), r, 0, st), j, r, mkjavavalues(bytes), r0 -- sk)]]