| ⟨err := EROFS⟩ (avol = avol1 ∧ (isbuf ↔ isbuf0) ∧ err = err0), # lpt = # avol, avol[m1] = mapped(buf0), bleb = buffered(m1), isbuf, m0 = m, n0 = n, m1 < # avol, awbuf-inv(avol, buffered(m1)), avol0 ↓ avol1, n0 ≤ # buf, # avol[bleb.leb].data + n0 ≤ LEB_SIZE, n ≤ # buf, # buf0 + n ≤ LEB_SIZE, bleb ≠ nobuffer → avol[bleb.leb].mapped? ∧ bleb.leb < # avol ∧ bleb.isbuf? ⊦ bleb = nobuffer, avol0 ↓ avol |