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