| n = # ns0, is-encoded-pad(ns1, n, buf), ∃ buf0, buf1. is-aligned(# buf, EB_PAGE_SIZE) ∧ buf = buf0 + buf1 ∧ is-encoded(ns0, buf0) ⊦ ns0 = ns1 |
# buf1 = # ns0 * ENCODED_NAT_SIZE, is-aligned(# buf1 + # buf0, EB_PAGE_SIZE), is-encoded(ns0, buf1), is-encoded-pad(ns1, # ns0, buf1 + buf0) ⊦ ns0 = ns1
Used simplifier rules: is-encoded-size: ⊦ is-encoded(ns, buf) → # buf = # ns * ENCODED_NAT_SIZE;%append-a: ⊦ (buf + buf0) + buf1 = buf + buf0 + buf1; from specification array-splice[buffer]% ⊦ #(buf + buf0) = # buf + # buf0; (s)