| n < # buf, datasize(buf, m) < m, m ≤ # buf, n < m, datasize(buf, m) ≤ n, datasize(buf, m) < # buf ⊦ m = 0, buf[n] = empty, # buf = 0 |
∀ n, buf. n < # buf ∧ datasize(buf, m0) < m0 ∧ m0 ≤ # buf ∧ n < m0 ∧ datasize(buf, m0) ≤ n ∧ datasize(buf, m0) < # buf → m0 = 0 ∨ buf[n] = empty ∨ # buf = 0, n < # buf, datasize(buf, m0 +1) < m0 +1, m0 +1 ≤ # buf, n < m0 +1, datasize(buf, m0 +1) ≤ n, datasize(buf, m0 +1) < # buf ⊦ m0 +1 = 0, buf[n] = empty, # buf = 0
[Concretesimprules((Csimpgen(nat freely generated by 0, +1;)))]