| abs-nodes(buf, 0, x, lax0 + ladr ' + lax1, boolvar0) ⊦ ∃ buf0, buf1, buf2, x0, a, x1. x = x0 + a ' + x1 ∧ # x0 = # lax0 ∧ buf = buf0 + buf1 + buf2 ∧ ladr = @(# buf0, 2 * NODE_HEADER_SIZE + a.alignedsize) ∧ # buf1 = 2 * NODE_HEADER_SIZE + a.alignedsize ∧ abs-node(buf1, a) |
⊦ abs-nodes(buf, m, x, lax0 + ladr ' + lax1, boolvar0) → (∃ buf0, buf1, buf2, x0, a, x1. x = x0 + a ' + x1 ∧ # x0 = # lax0 ∧ buf = buf0 + buf1 + buf2 ∧ ladr = @(m + # buf0, a.flashsize) ∧ # buf1 = a.flashsize ∧ abs-node(buf1, a))
abs-nodes(buf, 0, x, lax0 + ladr ' + lax1, boolvar0), abs-nodes(buf, 0, x, lax0 + ladr ' + lax1, boolvar0) → (∃ buf0, buf1, buf2, x0, a, x1. x = x0 + a ' + x1 ∧ # x0 = # lax0 ∧ buf = buf0 + buf1 + buf2 ∧ ladr = @(0 + # buf0, a.flashsize) ∧ # buf1 = a.flashsize ∧ abs-node(buf1, a)) ⊦ ∃ buf0, buf1, buf2, x0, a, x1. x = x0 + a ' + x1 ∧ # x0 = # lax0 ∧ buf = buf0 + buf1 + buf2 ∧ ladr = @(# buf0, 2 * NODE_HEADER_SIZE + a.alignedsize) ∧ # buf1 = 2 * NODE_HEADER_SIZE + a.alignedsize ∧ abs-node(buf1, a)
Used terms: buf, 0, x, lax0, ladr, lax1, boolvar0