| ⊦ n→i(# vals0) = i ∧ # vals1 = # bytes → putByteArray(bytes, r, i, addarray(r, byte_type, vals0 + vals1, st)) = addarray(r, byte_type, vals0 + mkjavavalues(bytes), st) |
∀ vals0, i, vals1, r, st. n→i(# vals0) = i ∧ # vals1 = # bytes0 → putByteArray(bytes0, r, i, addarray(r, byte_type, vals0 + vals1, st)) = addarray(r, byte_type, vals0 + mkjavavalues(bytes0), st) ⊦ n→i(# vals0) = i ∧ # vals1 = # (by + bytes0) → putByteArray(by + bytes0, r, i, addarray(r, byte_type, vals0 + vals1, st)) = addarray(r, byte_type, vals0 + mkjavavalues(by + bytes0), st)
[[CONCRETESIMPRULES : ([CSIMPGEN : bytelist generated by [], +;], [CSIMPSEQ : ⊦ # [] = 0], [CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPSEQ : ⊦ putByteArray([], r, i, st) = st], [CSIMPSEQ : ⊦ mkjavavalues([]) = []], [CSIMPSEQ : ⊦ vals + [] = vals], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1])]]