| n < n1 + # buf, n < n2, n0 + n < # mkempbuf(n0 + n1) + # buf, n2 ≤ n1 + # buf ⊦ (n0 + n < # mkempbuf(n0 + n1) ⊃ mkempbuf(n0 + n1)[n0 + n];buf[n0 + n - # mkempbuf(n0 + n1)]) = (mkempbuf(n1) + buf)[n] |
n < n2, n < n1 + # buf, n2 ≤ n1 + # buf ⊦ (n < n1 ⊃ mkempbuf(n0 + n1)[n0 + n];buf[n - n1]) = (mkempbuf(n1) + buf)[n]
Used simplifier rules: ⊦ m + n - n + n1 = m - n1; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m + n < m + n0 ↔ n < n0; (s)% ⊦ # mkempbuf(n) = n; (s)