| # buf = n0 + m0, 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 ⊦ is-aligned(m0 + n0, EB_PAGE_SIZE) ∧ buf = subarray(buf, 0, m0) + subarray(buf, m0, n0) |
# buf = n0 + m0, is-aligned(n0 + m0, EB_PAGE_SIZE), is-encoded(orphans2, subarray(buf, 0, m0)), m0 ≤ LEB_SIZE, n0 + m0 ≤ LEB_SIZE, # orphans2 * ENCODED_NAT_SIZE ≤ LEB_SIZE ⊦ buf = subarray(buf, 0, m0) + subarray(buf, m0, n0)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ m ≤ m + n; (s)