| n0 ≤ # buf1 ⊦ # buf1 = 0, datasize(buf1, n0) = 0, datasize(buf0 + buf1, n0 + # buf0) = # buf0 + datasize(buf1, n0), n0 = 0 |
n +1 ≤ # buf1, ∀ buf1, buf0. n ≤ # buf1 → # buf1 = 0 ∨ datasize(buf1, n) = 0 ∨ datasize(buf0 + buf1, n + # buf0) = # buf0 + datasize(buf1, n) ∨ n = 0 ⊦ # buf1 = 0, n +1 = 0, datasize(buf0 + buf1, n +1 + # buf0) = # buf0 + datasize(buf1, n +1), datasize(buf1, n +1) = 0
Used simplifier rules: nat freely generated by 0, +1;;