| m0 ≤ # buf ⊦ datasize(buf, m0) < m ↔ ¬(∃ n. m ≤ n + 1 ∧ n < m0 ∧ buf[n] ≠ empty), m = 0 |
⊦ m0 ≤ # buf ∧ m ≠ 0 → (m ≤ datasize(buf, m0) ↔ (∃ n. n + 1 ≥ m ∧ n < m0 ∧ buf[n] ≠ empty))
m0 ≤ # buf, m0 ≤ # buf ∧ m ≠ 0 → (m ≤ datasize(buf, m0) ↔ (∃ n. n + 1 ≥ m ∧ n < m0 ∧ buf[n] ≠ empty)) ⊦ datasize(buf, m0) < m ↔ ¬(∃ n. m ≤ n + 1 ∧ n < m0 ∧ buf[n] ≠ empty), m = 0
Used terms: m0, buf, m