| # apebs = # wlar, apeb.echdr.ec = m0, vols[apeb.vidhdr.vol][apeb.vidhdr.leb] = unmapped, apeb.vidhdr.leb < # vols[apeb.vidhdr.vol], n < # apebs, valid-ebatbl(apebs, wlar, vols, n0), valid-peb(apeb), valid-vtbl(apebs, vols, wlar, n0), valid-wl(apebs, wlar), apeb.vidhdr.vol ∈ vols, valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) ≠ ∅ → apeb.vidhdr.sqn > valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs).max ⊦ valid-wl(apebs[n, apeb], wlar[n, wl-entry(m0, used)]), VTBL_VOLID ∈ vols |
n < # apebs, # apebs = # wlar ⊦ valid-wl(apebs, wlar) ∧ valid-peb(apeb) ∧ (valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) ≠ ∅ → apeb.vidhdr.sqn > valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs).max) ∧ (∀ m. m < # wlar ∧ m ≠ n ∧ wlar[m].status = used → apebs[m].vidhdr.vol ≠ apeb.vidhdr.vol ∨ apebs[m].vidhdr.leb ≠ apeb.vidhdr.leb) ∧ apeb.echdr.ec = m0 → valid-wl(apebs[n, apeb], wlar[n, wl-entry(m0, used)])
# apebs = # wlar, apeb.echdr.ec = m0, vols[apeb.vidhdr.vol][apeb.vidhdr.leb] = unmapped, n < # apebs, apeb.vidhdr.leb < # vols[apeb.vidhdr.vol], valid-ebatbl(apebs, wlar, vols, n0), valid-peb(apeb), valid-vtbl(apebs, vols, wlar, n0), valid-wl(apebs, wlar), apeb.vidhdr.vol ∈ vols, valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) ≠ ∅ → apeb.vidhdr.sqn > valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs).max ⊦ valid-wl(apebs[n, apeb], wlar[n, wl-entry(m0, used)]), VTBL_VOLID ∈ vols, n < # apebs ∧ # apebs = # wlar ∧ valid-wl(apebs, wlar) ∧ valid-peb(apeb) ∧ (valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) ≠ ∅ → apeb.vidhdr.sqn > valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs).max) ∧ (∀ m. m < # wlar ∧ m ≠ n ∧ wlar[m].status = used → apebs[m].vidhdr.vol ≠ apeb.vidhdr.vol ∨ apebs[m].vidhdr.leb ≠ apeb.vidhdr.leb) ∧ apeb.echdr.ec = m0
Used terms: m0, wlar, apeb, n, apebs