| lax = ladr + lax0, abs-padding(buf0) ⊦ (∃ buf, buf2. buf0 + buf1 = buf + buf2 ∧ ( buf0 = buf ∧ abs-nodes(buf2, m + # buf, nd ' + x0, lax, weak) ∨ lax ≠ [] ∧ ladr.off = m ∧ ladr.size = # buf ∧ abs-node(buf, nd) ∧ abs-nodes(buf2, ladr.off + # buf, x0, lax0, weak))) ↔ abs-nodes(buf1, m + # buf0, nd ' + x0, lax, weak), lax = [] |
abs-padding(buf0) ⊦ (∃ buf, buf2. buf0 + buf1 = buf + buf2 ∧ ( buf0 = buf ∧ abs-nodes(buf2, m + # buf, nd ' + x0, ladr ' + lax0, weak) ∨ ladr.off = m ∧ ladr.size = # buf ∧ abs-node(buf, nd) ∧ abs-nodes(buf2, ladr.off + # buf, x0, lax0, weak))) ↔ abs-nodes(buf1, m + # buf0, nd ' + x0, ladr ' + lax0, weak)
Used simplifier rules: a: ⊦ (lax + lax0) + lax1 = lax + lax0 + lax1; from specification list[laddress-list]% ⊦ ladr ' + lax ≠ []; (s)% ⊦ ladr + lax = ladr ' + lax; (s)