| ⊦ m + n ≤ # buf ∧ n ≤ # buf0 ∧ ¬ m < datasize(buf) → (datasize(copy(buf0, 0, buf, m, n)) < datasize(buf) ↔ false) |
⊦ datasize(buf) = datasize(buf, # buf)
[Concretesimprules((Csimpnamedseq(datasize,,, ⊦ datasize(buf) = datasize(buf, # buf)) Csimpnamedforward(nat-basic1,,f, ⊦ m < n → n ≠ 0) Csimpnamedforward(nat,,fle, ⊦ m < n ∧ n ≤ n0 → m < n0) Csimpnamedseq(nat,,lels, ⊦ ¬ m < n ↔ n ≤ m) Csimpnamedseq(array-copy,buffer,size-copy, ⊦ # copy(buf, m, buf0, m0, n) = # buf0)))]