| # buf2 = nd1.alignedsize, # buf1 = NODE_HEADER_SIZE, is-encoded(nodeheader(node-size-headerless(nd1), false), buf1), is-encoded(nd1, subarray(buf2, 0, node-size-headerless(nd1))) ⊦ ∃ buf4, buf3. subarray((buf1 + buf2 + validtrailer) + buf0, 0, 2 * NODE_HEADER_SIZE + nd1.alignedsize) = buf4 + buf3 + validtrailer ∧ is-encoded(nodeheader(node-size-headerless(nd1), false), buf4) ∧ is-encoded(nd1, subarray(buf3, 0, node-size-headerless(nd1))) ∧ # buf3 = nd1.alignedsize |
⊦ nd.alignedsize = align↑(node-size-headerless(nd), 2 * NODE_HEADER_SIZE)
# buf1 = NODE_HEADER_SIZE, # buf2 = align↑(node-size-headerless(nd1), 2 * NODE_HEADER_SIZE), is-encoded(nd1, subarray(buf2, 0, node-size-headerless(nd1))), is-encoded(nodeheader(node-size-headerless(nd1), false), buf1) ⊦ ∃ buf4, buf3. subarray((buf1 + buf2 + validtrailer) + buf0, 0, 2 * NODE_HEADER_SIZE + align↑(node-size-headerless(nd1), 2 * NODE_HEADER_SIZE)) = buf4 + buf3 + validtrailer ∧ is-encoded(nodeheader(node-size-headerless(nd1), false), buf4) ∧ is-encoded(nd1, subarray(buf3, 0, node-size-headerless(nd1))) ∧ # buf3 = align↑(node-size-headerless(nd1), 2 * NODE_HEADER_SIZE)
Used terms: nd1