| n0 + m ≤ # buf1 ⊦ (∀ n. n0 + # buf0 ≤ n ∧ n < (n0 + # buf0) + m → (buf0 + buf1)[n] = empty) ↔ isempty(buf1, n0, m) |
⊦ n0 + n1 ≤ # buf → (isempty(buf, n0, n1) ↔ (∀ n. n0 ≤ n ∧ n < n0 + n1 → buf[n] = empty))
n0 + m ≤ # buf1 ⊦ (∀ n. n0 + # buf0 ≤ n ∧ n < (n0 + # buf0) + m → (buf0 + buf1)[n] = empty) ↔ (∀ n. n0 ≤ n ∧ n < n0 + m → buf1[n] = empty)
Used terms: m, n0, buf1