| buf1 = mkempbuf(# buf1), m0 ≤ # buf1 ⊦ datasize(buf0 + buf1, # buf0 + m0) = datasize(buf0, # buf0) |
⊦ m ≤ # buf0 + # buf1 → datasize(buf0 + buf1, m) = (m ≤ # buf0 ∨ datasize(buf1, m - # buf0) = 0 ⊃ datasize(buf0, min(m, # buf0));# buf0 + datasize(buf1, m - # buf0))
[Concretesimprules((Csimpnamedseq(datasize-append-lower-h,,, m ≤ # buf0 ⊦ datasize(buf0 + buf1, m) = datasize(buf0, m)) Csimpnamedseq(nat,,le-add, ⊦ m + m0 ≤ m ↔ m0 = 0) Csimpnamedseq(nat-basic2,,a, ⊦ (m + n0) + n1 = m + n0 + n1) Csimpnamedseq(nat-basic2,,c, ⊦ m + n = n + m) Csimpnamedseq(nat,,lep-02, ⊦ m + n ≤ m + n0 ↔ n ≤ n0) Csimpnamedseq(nat,,lels-01, ⊦ ¬ m ≤ n ↔ n < m) Csimpnamedseq(nat,,le-ls-simp, ⊦ m ≤ n → (n < m ↔ false)) Csimpnamedseq(array-splice,buffer,append-a, ⊦ (buf + buf0) + buf1 = buf + buf0 + buf1))), Extraterms((# buf0 + m0buf1buf0))]