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