| n = m + 1, n ≤ # vals0, ∀ n0. ¬ # vals0 ≤ n0 → (bytevalues(vals0)[n0]) = vals0[n0] .byteval ⊦ n = 0, (bytevalues(vals0)[m]) = (val ' + vals0)[n] .byteval |
m < # vals0, ∀ n0. ¬ # vals0 ≤ n0 → (bytevalues(vals0)[n0]) = vals0[n0] .byteval ⊦ (bytevalues(vals0)[m]) = vals0[m] .byteval, vals0 = []
[[CONCRETESIMPRULES : ([CSIMPSEQ : ⊦ # vals = 0 ↔ vals = []], [CSIMPFORWARD : ⊦ m < n → n ≠ 0], [CSIMPSEQ : ⊦ m + 1 ≤ n ↔ m < n], [CSIMPSEQ : ⊦ (vals + vals0) + vals1 = vals + vals0 + vals1], [CSIMPSEQ : ⊦ (val ' + vals)[n + 1] = vals[n]], [CSIMPSEQ : ⊦ m + n = n + m], [CSIMPSEQ : ⊦ (m + n0) + n1 = m + n0 + n1], [CSIMPSEQ : ⊦ m + 1 ≠ 0])]]