| # buf = n0 + n1, n2 < n0 + n1, n0 ≤ n2, n1 ≤ LEB_SIZE, n2 - n0 < n1 → buf[n0 + (n2 - n0)] = empty, ∀ buf0, n, n3. # buf0 ≠ n + n3 ∨ ¬ n < datasize(buf0, n2) ∨ ¬ range=(buf0, n, emptyleb, 0, n3) ∨ ¬ n2 ≤ n + n3 ⊦ buf[n2] = empty, n1 = 0 |
# buf = n0 + n1, buf[n0 + (n2 - n0)] = empty, n2 < n0 + n1, n1 ≤ LEB_SIZE, n0 ≤ n2, ∀ buf0, n, n3. # buf0 ≠ n + n3 ∨ ¬ n < datasize(buf0, n2) ∨ ¬ range=(buf0, n, emptyleb, 0, n3) ∨ ¬ n2 ≤ n + n3 ⊦ buf[n2] = empty, n1 = 0
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic%n0 ≤ n ⊦ n - n0 < m ↔ n < m + n0; (s)% ⊦ m ≤ n → (n < m ↔ false); (s)% ⊦ m ≤ n ↔ ¬ n < m; (ss)