| 0 ≤ i1, 0 ≤ j, 0 ≤ n→i(# bytes) + i1, 0 ≤ j + n→i(# bytes) + i1 ⊦ ( r0 -- sk ∈ (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 = r ∧ sk = _length ∨ r0 = r ∧ sk = _type ∨ 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 -- sk = r -- _length, ( r0 -- sk ∈ (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 = r ∧ sk = _length ∨ r0 = r ∧ sk = _type ∨ 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 : ⊦ i + j + i0 = (i + j) + i0], [CSIMPSEQ : ⊦ i + j = j + i], [CSIMPSEQ : ⊦ r -- sk = r0 -- sk0 ↔ r = r0 ∧ sk = sk0], [CSIMPSEQ : ⊦ rk ∈ st[rk0, val] ↔ rk = rk0 ∨ rk ∈ st], [CSIMPSEQ : ⊦ (st[rk, val][rk]) = val], [CSIMPSEQ : ⊦ intval(i) = intval(i0) ↔ i = i0])], [EXTRAFMAS : (r0 -- sk = r -- _length)]]