| is-aligned(# buf, EB_PAGE_SIZE), is-encoded(orphans2, subarray(buf, 0, m0)), m0 ≤ LEB_SIZE, m0 ≤ # buf, # buf ≤ LEB_SIZE, # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE ⊦ # orphans2 = # orphans2 ∧ (∃ buf0, buf1. is-aligned(# buf, EB_PAGE_SIZE) ∧ buf = buf0 + buf1 ∧ is-encoded(orphans2, buf0)) |
is-aligned(# buf, EB_PAGE_SIZE), is-encoded(orphans2, subarray(buf, 0, m0)), # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE, # buf ≤ LEB_SIZE, m0 ≤ # buf, m0 ≤ LEB_SIZE ⊦ ∃ buf0, buf1. is-aligned(# buf0 + # buf1, EB_PAGE_SIZE) ∧ buf = buf0 + buf1 ∧ is-encoded(orphans2, buf0)
Used simplifier rules: append-a: ⊦ (buf + buf0) + buf1 = buf + buf0 + buf1; from specification array-splice[buffer]% ⊦ #(buf + buf0) = # buf + # buf0; (s)