| n < n2, n < n1 + # buf, n2 ≤ n1 + # buf ⊦ (n < n1 ⊃ mkempbuf(n0 + n1)[n0 + n];buf[n - n1]) = (mkempbuf(n1) + buf)[n] |
⊦ n < # buf + # buf0 → (buf + buf0)[n] = (n < # buf ⊃ buf[n];buf0[n - # buf])
n < n1 + # buf, n < n2, n < # mkempbuf(n1) + # buf, n2 ≤ n1 + # buf ⊦ (n < n1 ⊃ mkempbuf(n0 + n1)[n0 + n];buf[n - n1]) = (n < # mkempbuf(n1) ⊃ mkempbuf(n1)[n];buf[n - # mkempbuf(n1)])
Used simplifier rules: ⊦ # mkempbuf(n) = n; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s) Used terms: n, buf, mkempbuf(n1)