| # lpt = # avol, m0 = m, n0 = n, awbuf-inv(avol, bleb), # avol[bleb.leb].data + n ≤ LEB_SIZE, n ≤ # buf, bleb ≠ nobuffer → avol[bleb.leb].mapped? ∧ bleb.leb < # avol ∧ bleb.isbuf? ⊦ ⟪abort⟫ (awbuf-inv(avol, bleb) ∧ # lpt = # avol), bleb = nobuffer, bleb ≠ nobuffer ∧ # avol[bleb.leb].data + n0 ≤ LEB_SIZE ∧ n0 ≤ # buf |
# lpt = # avol, m0 = m, n0 = n, awbuf-inv(avol, bleb), n ≤ # buf, # avol[bleb.leb].data + n ≤ LEB_SIZE, bleb ≠ nobuffer → avol[bleb.leb].mapped? ∧ bleb.leb < # avol ∧ bleb.isbuf? ⊦ bleb = nobuffer, bleb ≠ nobuffer ∧ # avol[bleb.leb].data + n0 ≤ LEB_SIZE ∧ n0 ≤ # buf