| # buf1 = nd.alignedsize + 2 * NODE_HEADER_SIZE, ladr = @(m, # buf1), lax = ladr + lax0, # buf0 < x0.flashsize, abs-node(buf1, nd), abs-nodes(buf0, m + # buf1, x0, lax0, false), ∀ buf2, x, m, lax. # buf2 < #(buf1 + buf0) → # buf2 < x.flashsize ∧ abs-nodes(buf2, m, x, lax, false) → x = [] ⊦ lax = [], x0 = [] |
# buf1 = nd.alignedsize + 2 * NODE_HEADER_SIZE, # buf0 < x0.flashsize, abs-node(buf1, nd), abs-nodes(buf0, m + # buf1, x0, lax0, false), ∀ buf2, x, m, lax. # buf2 < #(buf1 + buf0) → # buf2 < x.flashsize ∧ abs-nodes(buf2, m, x, lax, false) → x = [] ⊦ x0 = []
Used simplifier rules: a: ⊦ (lax + lax0) + lax1 = lax + lax0 + lax1; from specification list[laddress-list]% ⊦ ladr ' + lax ≠ []; (s)% ⊦ ladr + lax = ladr ' + lax; (s)