| # buf4 = NODE_HEADER_SIZE, # buf1 = NODE_HEADER_SIZE, # buf3 = nd.alignedsize, buf1 + buf0 + validtrailer = buf4 + (buf3 + validtrailer) + buf, abs-nodes(buf, 2 * NODE_HEADER_SIZE + m + nd.alignedsize, x0, lax0, weak), is-aligned(# buf0, 2 * NODE_HEADER_SIZE), is-encoded(nodeheader(# buf0, true), buf1), is-encoded(nd, subarray(buf3, 0, node-size-headerless(nd))), is-encoded(nodeheader(node-size-headerless(nd), false), buf4) ⊦ |
⊦ # 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) Used terms: (buf3 + validtrailer) + buf, buf4, buf0 + validtrailer, buf1