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