| # buf1 = 2 * NODE_HEADER_SIZE + a.alignedsize, # x0 = # lax0, abs-node(buf1, a), abs-nodes(buf0 + buf1 + buf2, 0, x0 + a ' + x1, lax0 + @(# buf0, # buf1) ' + lax1, boolvar0) ⊦ ∃ buf3, buf4, buf5, x2, a0, x3. x0 + a ' + x1 = x2 + a0 ' + x3 ∧ # x2 = # lax0 ∧ buf0 + buf1 + buf2 = buf3 + buf4 + buf5 ∧ @(# buf0, # buf1) = @(# buf3, 2 * NODE_HEADER_SIZE + a0.alignedsize) ∧ # buf4 = 2 * NODE_HEADER_SIZE + a0.alignedsize ∧ abs-node(buf4, a0) |
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list%append-a: ⊦ (buf + buf0) + buf1 = buf + buf0 + buf1; from specification array-splice[buffer]% ⊦ @(m, m0) = @(m1, m2) ↔ m = m1 ∧ m0 = m2; (ws)% ⊦ abs-node(buf, nd0) → (abs-node(buf, nd1) ↔ nd0 = nd1); (s) Used terms: buf0, buf1, buf2, x0, a, x1