| 0 < n→i(# bytes) + i1 + j, n→i(n) < n→i(# bytes) + i1, # bytes ≤ n, 0 < n→i(# bytes) + i1, 0 ≤ n→i(n) + j, n < i→n(i1) + # bytes, 0 ≤ j + n→i(# bytes) + i1, 0 ≤ n→i(# bytes) + i1, 0 ≤ j, 0 < i1 ⊦ initial_value(byte_type) = (mkjavavalues(bytes) + mklist(initial_value(byte_type), i→n(i1)))[n], i1 = 0 |
⊦ ¬ n < # vals → (vals + vals0)[n] = vals0[n - # vals]
¬ n < # mkjavavalues(bytes), 0 < n→i(# bytes) + i1 + j, n→i(n) < n→i(# bytes) + i1, # bytes ≤ n, 0 < n→i(# bytes) + i1, 0 ≤ n→i(n) + j, n < i→n(i1) + # bytes, 0 ≤ j + n→i(# bytes) + i1, 0 ≤ n→i(# bytes) + i1, 0 ≤ j, 0 < i1 ⊦ initial_value(byte_type) = (mklist(initial_value(byte_type), i→n(i1))[n - # mkjavavalues(bytes)]), i1 = 0
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ n < # vals → (vals + vals0)[n] = vals[n]], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ # mkjavavalues(bytes) = # bytes], [CSIMPSEQ : ⊦ m ≤ n → (n < m ↔ false)])], [EXTRATERMS : (n, mklist(initial_value(byte_type), i→n(i1)), mkjavavalues(bytes))]]