| 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 ] ) |
0 ≤ i1, 0 ≤ j, 0 ≤ n→i(# bytes) + i1, 0 ≤ j + n→i(# bytes) + i1, r0 ≠ r ∨ sk ≠ _length ⊦ ( r0 ≠ r ∨ sk ≠ _type → ( r0 = r ∧ is_indexkey(sk) ∧ 0 ≤ sk .index ∧ sk .index < n→i(# bytes) + i1 + j ∨ r0 = r ∧ is_indexkey(sk) ∧ j ≤ sk .index ∧ sk .index < n→i(# bytes) + j → 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 : ([CSIMPSEQ : ⊦ # mkjavavalues(bytes) = # bytes], [CSIMPSEQ : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + 0 = i], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ 0 ≤ i → n→i(i→n(i)) = i], [CSIMPSEQ : ⊦ n→i(m + n) = n→i(m) + n→i(n)], [CSIMPSEQ : ⊦ # mklist(val, n) = n], [CSIMPSEQ : ⊦ (r -- sk) .key = sk], [CSIMPSEQ : ⊦ (r -- sk) .ref = r], [CSIMPSEQ : ⊦ 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)], [CSIMPSEQ : ⊦ i + j = j + i])]]