| n < # buf0 + m, n < # buf0 + # buf1, # buf0 ≤ n, m ≤ # buf1, ∀ n. n < m → buf1[n] = empty ⊦ # buf1 = 0, buf1[n - # buf0] = empty, m = 0 |
n = n0 + # buf0, n < # buf0 + # buf1, n < # buf0 + m, m ≤ # buf1, # buf0 ≤ n, ∀ n. n < m → buf1[n] = empty ⊦ # buf1 = 0, buf1[n0] = empty, m = 0
Used simplifier rules: n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: n, # buf0, n0