| # buf0 = NODE_HEADER_SIZE, # buf2 = NODE_HEADER_SIZE, # buf3 = nd0.alignedsize, # buf1 = nd1.alignedsize, buf2 + buf3 = buf0 + buf1, is-encoded(nd0, subarray(buf3, 0, node-size-headerless(nd0))), is-encoded(nodeheader(node-size-headerless(nd0), false), buf2), is-encoded(nd1, subarray(buf1, 0, node-size-headerless(nd1))), is-encoded(nodeheader(node-size-headerless(nd1), false), buf0) ⊦ nd0 = nd1 |
⊦ # 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)% ⊦ is-encoded(nd, buf) → (is-encoded(nd0, buf) ↔ nd = nd0); (s) Used terms: buf1, buf0, buf3, buf2