| datasize(buf, m0) = 0 ↔ (∀ n. n < m0 → buf[n] = empty), buf[m0] = empty, ∀ n. ¬ m0 < n → buf[n] = empty, ∀ buf. datasize(buf, m0) = 0 ↔ (∀ n. n < m0 → buf[n] = empty) ⊦ datasize(buf, m0) = 0 |
buf[m0] = empty, n < m0, ∀ n. ¬ m0 < n → buf[n] = empty, ∀ buf. datasize(buf, m0) = 0 ↔ (∀ n. n < m0 → buf[n] = empty) ⊦ buf[n] = empty, datasize(buf, m0) = 0
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic