| # buf4 = NODE_HEADER_SIZE, # buf1 = NODE_HEADER_SIZE, # buf0 = a.alignedsize, buf1 + buf0 + validtrailer = buf4 + (buf3 + validtrailer) + buf, abs-nodes(buf, 2 * NODE_HEADER_SIZE + m + # buf3, a ', @(m0, m1) ', false), is-aligned(# buf3, 2 * NODE_HEADER_SIZE), is-encoded(a, subarray(buf0, 0, node-size-headerless(a))), is-encoded(nodeheader(node-size-headerless(a), false), buf1), is-encoded(nodeheader(# buf3, true), buf4) ⊦ m0 = m ∧ m1 = 2 * NODE_HEADER_SIZE + a.alignedsize |
⊦ # buf = # buf0 → (buf + buf1 = buf0 + buf2 ↔ buf = buf0 ∧ buf1 = buf2)
Used simplifier rules: ⊦ is-encoded(ndhd, buf) → (is-encoded(ndhd0, buf) ↔ ndhd = ndhd0); (s)%⊦ nodeheader(m, boolvar) = nodeheader(m0, boolvar0) ↔ m = m0 ∧ (boolvar ↔ boolvar0); (ws)%# buf = n ⊦ subarray(buf, 0, n) = buf; (s) Used terms: (buf3 + validtrailer) + buf, buf4, buf0 + validtrailer, buf1