| # buf1 = EB_PAGE_SIZE, # buf2 = EB_PAGE_SIZE, is-encoded(rnode(m), buf1), is-encoded(nx0 + n ', buf + buf2), is-encoded(nx0, buf), is-encoded(rnode(n), buf2) ⊦ buf1 + buf + buf2 = (buf1 + buf) + buf2 ∧ (∃ buf2, buf0. buf1 + buf = buf2 + buf0 ∧ is-encoded(rnode(m), buf2) ∧ is-encoded(nx0, buf0)) ∧ is-encoded(rnode(n), buf2) |
# buf2 = EB_PAGE_SIZE, # buf1 = EB_PAGE_SIZE, is-encoded(rnode(n), buf2), is-encoded(nx0, buf), is-encoded(nx0 + n ', buf + buf2), is-encoded(rnode(m), buf1) ⊦ ∃ buf2, buf0. buf1 + buf = buf2 + buf0 ∧ is-encoded(rnode(m), buf2) ∧ is-encoded(nx0, 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]