| ⊦ abs(avol0, nobuffer, wbuf, avol1, rofs) ↔ avol0 = avol1 |
# avol0 = # avol1, ∀ n. n < # avol1 → avol0[n] = avol1[n] ⊦ avol0 = avol1
Used simplifier rules: abs-def: ⊦ abs(avol0, bleb, wbuf, avol1, rofs) ↔ # avol0 = # avol1 ∧ (∀ n. n < # avol0 → (buffered(n) ≠ bleb → avol0[n] = avol1[n]) ∧ ( ¬ rofs ∧ buffered(n) = bleb → avol0[n] = abs⊕(avol1[n], wbuf)) ∧ ( rofs ∧ buffered(n) = bleb → wbuf.offset = # avol1[n].data ∧ avol0[n] = abs⊕(avol1[n], wbuf) ∨ wbuf.offset < # avol1[n].data ∧ wbuf.offset + wbuf.nbytes < # avol1[n].data ∧ avol0[n] = avol1[n] ∧ subarray(wbuf.content, 0, wbuf.nbytes) = subarray (avol1[n].data, wbuf.offset, wbuf.nbytes)));% ⊦ nobuffer ≠ buffered(m); (s)