| # buf1 = nd.alignedsize + 2 * NODE_HEADER_SIZE, lax.head = @(m, # buf1), abs-node(buf1, nd), abs-nodes(buf0, m + # buf1, x0, lax.tail, weak), ∀ buf2, m, x, lax, weak. # buf2 < #(buf1 + buf0) → abs-nodes(buf2, m, x, lax, weak) → is-aligned(# buf2, NODE_HEADER_SIZE) ⊦ lax = [], is-aligned(# buf0, NODE_HEADER_SIZE) |
# buf1 = nd.alignedsize + 2 * NODE_HEADER_SIZE, ladr = @(m, # buf1), lax = ladr + lax0, abs-node(buf1, nd), abs-nodes(buf0, m + # buf1, x0, lax0, weak), ∀ buf2, m, x, lax, weak. # buf2 < #(buf1 + buf0) → abs-nodes(buf2, m, x, lax, weak) → is-aligned(# buf2, NODE_HEADER_SIZE) ⊦ lax = [], is-aligned(# buf0, NODE_HEADER_SIZE)
Used simplifier rules: lax ≠ [] ⊦ ladr = lax.head ∧ lax0 = lax.tail ↔ lax = ladr + lax0; (elim) Used terms: lax, ladr, lax0