| # buf = (a ' + []).flashsize ⊦ abs-nodes(buf, m, a ' + [], lax, false) ↔ lax = @(m, # buf) ' ∧ abs-node(buf, a) |
⊦ # buf = (a ' + x).flashsize → ( abs-nodes(buf, m, a ' + x, lax, false) ↔ (∃ buf0, buf1. buf = buf0 + buf1 ∧ lax ≠ [] ∧ lax.head.off = m ∧ lax.head.size = # buf0 ∧ abs-node(buf0, a) ∧ abs-nodes(buf1, m + # buf0, x, lax.tail, false)))
# buf = (a ' + []).flashsize ⊦ (∃ buf0, buf1. buf = buf0 + buf1 ∧ lax ≠ [] ∧ lax.head.off = m ∧ lax.head.size = # buf0 ∧ abs-node(buf0, a) ∧ abs-nodes(buf1, m + # buf0, [], lax.tail, false)) ↔ lax = @(m, # buf) ' ∧ abs-node(buf, a)
Used terms: lax, [], a, m, buf