| buf0 + buf1 = buf2 + buf, abs-padding(buf0), buf0 = buf2 ∧ abs-nodes(buf, m + # buf2, nd ' + x0, @(m0, m1) ' + lax0, weak) ∨ m0 = m ∧ m1 = # buf2 ∧ abs-node(buf2, nd) ∧ abs-nodes(buf, m + # buf2, x0, lax0, weak) ⊦ abs-nodes(buf1, m + # buf0, nd ' + x0, @(m0, m1) ' + lax0, weak) |
Used simplifier rules: append-a: ⊦ (buf + buf0) + buf1 = buf + buf0 + buf1; from specification array-splice[buffer]% ⊦ abs-node(buf0, nd) ∧ buf0 + buf1 = buf + buf2 → ¬ abs-padding(buf); (s)% ⊦ buf + buf0 = buf + buf1 ↔ buf0 = buf1; (s)