| # buf3 = EB_PAGE_SIZE, is-encoded(nx1, buf0), is-encoded(nx, buf2), is-encoded(rnode(m), buf3), ∀ nx1, buf. is-encoded(nx + nx1, buf) ↔ (∃ buf0, buf1. buf = buf0 + buf1 ∧ is-encoded(nx, buf0) ∧ is-encoded(nx1, buf1)) ⊦ (buf3 + buf2) + buf0 = buf3 + buf2 + buf0 ∧ is-encoded(rnode(m), buf3) ∧ is-encoded(nx + nx1, buf2 + buf0) |
# buf3 = EB_PAGE_SIZE, is-encoded(rnode(m), buf3), is-encoded(nx, buf2), is-encoded(nx1, buf0), ∀ nx1, buf. is-encoded(nx + nx1, buf) ↔ (∃ buf0, buf1. buf = buf0 + buf1 ∧ is-encoded(nx, buf0) ∧ is-encoded(nx1, buf1)) ⊦ is-encoded(nx + nx1, buf2 + buf0)
Used simplifier rules: ⊦ is-encoded(rnd, buf) → (is-encoded(rnd0, buf) ↔ rnd = rnd0); (s)%append-a: ⊦ (buf + buf0) + buf1 = buf + buf0 + buf1; from specification array-splice[buffer]