| m0 < # buf + n, ∀ buf, n. m0 ≤ # buf + n → datasize(buf + mkempbuf(n), m0) = datasize(buf, min(# buf, m0)) ⊦ ((buf + mkempbuf(n))[m0] = empty ⊃ datasize(buf + mkempbuf(n), m0);m0 + 1) = datasize(buf, (¬ m0 < # buf ⊃ # buf;m0 + 1)) |
(buf + mkempbuf(n))[m0] = empty, m0 < # buf + n, ∀ buf, n. m0 ≤ # buf + n → datasize(buf + mkempbuf(n), m0) = datasize(buf, min(# buf, m0)) ⊦ datasize(buf + mkempbuf(n), m0) = datasize(buf, (¬ m0 < # buf ⊃ # buf;m0 + 1))
m0 < # buf + n, ∀ buf, n. m0 ≤ # buf + n → datasize(buf + mkempbuf(n), m0) = datasize(buf, min(# buf, m0)) ⊦ m0 + 1 = datasize(buf, (¬ m0 < # buf ⊃ # buf;m0 + 1)), (buf + mkempbuf(n))[m0] = empty