| abs-node(buf1, a), abs-nodes(buf0, x, lax, false) ⊦ abs-nodes((buf0 + buf1).align↓, x + a ', lax + @(# buf0, a.flashsize) ', boolvar) ↔ is-aligned(# buf0 + # buf1, EB_PAGE_SIZE) |
# buf1 = a.alignedsize + 2 * NODE_HEADER_SIZE, abs-node(buf1, a), abs-nodes(buf0, 0, x, lax, false) ⊦ abs-nodes((buf0 + buf1).align↓, 0, x + a ', lax + @(# buf0, # buf1) ', boolvar) ↔ is-aligned(# buf0 + # buf1, EB_PAGE_SIZE)
Used simplifier rules: abs-nodes: ⊦ abs-nodes(buf, x, lax, weak) ↔ abs-nodes(buf, 0, x, lax, weak);%ls-abs-node-buf-size: ⊦ abs-node(buf, nd) → # buf = nd.alignedsize + 2 * NODE_HEADER_SIZE;%c: ⊦ m + n = n + m; from specification nat-basic% ⊦ nd.flashsize = 2 * NODE_HEADER_SIZE + nd.alignedsize; (s)