| # buf = n1 + n, n0 < n1 + n, ∀ n0. n0 < n → buf[n0] = empty ⊦ buf[n0] = (mkempbuf(n) + subarray(buf, n, n1))[n0] |
⊦ n < # buf → (buf + buf0)[n] = buf[n]
# buf = n1 + n, n0 < n1 + n, ∀ n0. n0 < n → buf[n0] = empty ⊦ buf[n0] = (mkempbuf(n) + subarray(buf, n, n1))[n0], n0 < # mkempbuf(n)
# buf = n1 + n, n0 < n1 + n, n0 < # mkempbuf(n), ∀ n0. n0 < n → buf[n0] = empty ⊦ buf[n0] = mkempbuf(n)[n0]
Used terms: n0, subarray(buf, n, n1), mkempbuf(n)