| # buf0 = a.alignedsize, # buf1 = NODE_HEADER_SIZE, buf1 + buf0 + validtrailer = buf2 + buf, abs-nodes(buf, m + # buf2, a ', @(m0, m1) ', false), abs-padding(buf2), is-encoded(nodeheader(node-size-headerless(a), false), buf1), is-encoded(a, subarray(buf0, 0, node-size-headerless(a))) ⊦ m0 = m ∧ m1 = 2 * NODE_HEADER_SIZE + a.alignedsize |
⊦ abs-padding(buf) ↔ (∃ buf0, buf1. buf = buf0 + buf1 + validtrailer ∧ is-encoded(nodeheader(# buf1, true), buf0) ∧ is-aligned(# buf1, 2 * NODE_HEADER_SIZE))
# buf1 = NODE_HEADER_SIZE, # buf0 = a.alignedsize, buf1 + buf0 + validtrailer = buf2 + buf, abs-nodes(buf, m + # buf2, a ', @(m0, m1) ', false), is-encoded(a, subarray(buf0, 0, node-size-headerless(a))), is-encoded(nodeheader(node-size-headerless(a), false), buf1), ∃ buf0, buf1. buf2 = buf0 + buf1 + validtrailer ∧ is-encoded(nodeheader(# buf1, true), buf0) ∧ is-aligned(# buf1, 2 * NODE_HEADER_SIZE) ⊦ m0 = m ∧ m1 = 2 * NODE_HEADER_SIZE + a.alignedsize
Used terms: buf2