| x1 = nd + x2, abs-nodes(buf1, m + # buf0, x1, lax1, true), abs-nodes(buf1, m + # buf0, [], [], true), abs-padding(buf0), ∀ buf2, m, x0, lax0, x1, lax1. # buf2 < #(buf0 + buf1) → abs-nodes(buf2, m, x0, lax0, true) ∧ abs-nodes(buf2, m, x1, lax1, true) → x0 = x1 ∧ lax0 = lax1 ⊦ [] = x1 ∧ [] = lax1 |
abs-nodes(buf1, m + # buf0, [], [], true), abs-nodes(buf1, m + # buf0, nd ' + x2, lax1, true), abs-padding(buf0), ∀ buf2, m, x0, lax0, x1, lax1. # buf2 < #(buf0 + buf1) → abs-nodes(buf2, m, x0, lax0, true) ∧ abs-nodes(buf2, m, x1, lax1, true) → x0 = x1 ∧ lax0 = lax1 ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a ' + x ≠ []; (s)% ⊦ a + x = a ' + x; (s)