| avhdr.vol × avhdr.leb ∈ recs ∧ recs[avhdr.vol × avhdr.leb].pnum = # apebs ↔ wlar[# apebs].status = used ∧ # apebs < # apebs ∧ apebs[# apebs].vidhdr.vol = (avhdr.vol × avhdr.leb).vol ∧ apebs[# apebs].vidhdr.leb = (avhdr.vol × avhdr.leb).leb, apebs[n0] = mkpeb(aehdr, avhdr, buf, m0, boolvar), recs[avhdr.vol × avhdr.leb] = recovery-entry(n0, n1), wlar[n0] = wl-entry(m1, used), n0 < # apebs, valid-eraseq(wlar, q), avhdr.vol × avhdr.leb ∈ recs, n0 ∈ q, ∀ ladr, m. ladr ∈ recs ∧ recs[ladr].pnum = m ↔ wlar[m].status = used ∧ m < # apebs ∧ apebs[m].vidhdr.vol = ladr.vol ∧ apebs[m].vidhdr.leb = ladr.leb ⊦ n0 = # apebs |
apebs[n0] = mkpeb(aehdr, avhdr, buf, m0, boolvar), recs[avhdr.vol × avhdr.leb] = recovery-entry(n0, n1), wlar[n0] = wl-entry(m1, used), n0 < # apebs, valid-eraseq(wlar, q), avhdr.vol × avhdr.leb ∈ recs, n0 ∈ q, ∀ ladr, m. ladr ∈ recs ∧ recs[ladr].pnum = m ↔ wlar[m].status = used ∧ m < # apebs ∧ apebs[m].vidhdr.vol = ladr.vol ∧ apebs[m].vidhdr.leb = ladr.leb ⊦ n0 = # apebs
Used simplifier rules: ⊦ recovery-entry(m, m0).pnum = m; (s)% ⊦ ¬ n < n; (s)