| # buf1 = # mkempbuf(# buf1), n < # buf1, n < m0, m0 ≤ # buf1, ∀ n. n < # buf1 → buf1[n] = mkempbuf(# buf1)[n] ⊦ # buf0 + datasize(buf1, m0) = datasize(buf0, # buf0), buf1[n] = empty |
n < m0, n < # buf1, m0 ≤ # buf1, ∀ n0. n0 < # buf1 → buf1[n0] = empty ⊦ # buf0 + datasize(buf1, m0) = datasize(buf0, # buf0), buf1[n] = empty
Used simplifier rules: ⊦ m < n → mkempbuf(n)[m] = empty; (s)% ⊦ # mkempbuf(n) = n; (s)