| # apebs = # wlar, v × m ∈ recs ∧ recs[v × m].pnum = n0 ↔ wlar[n0].status = used ∧ n0 < m0 ∧ apebs[n0].vidhdr.vol = (v × m).vol ∧ apebs[n0].vidhdr.leb = (v × m).leb, recs[v × m] = recovery-entry(n0, n1), n0 < # wlar, n0 < m0, valid-wl(subarray(apebs, 0, m0), subarray(wlar, 0, m0)), v × m ∈ recs, m0 ≤ # wlar ⊦ valid-peb(v, m, apebs[n0]) |
# apebs = # wlar, wlar[n0].status = used, recs[apebs[n0].vidhdr.vol × apebs[n0].vidhdr.leb] = recovery-entry(n0, n1), n0 < m0, n0 < # wlar, valid-wl(subarray(apebs, 0, m0), subarray(wlar, 0, m0)), apebs[n0].vidhdr.vol × apebs[n0].vidhdr.leb ∈ recs, m0 ≤ # wlar ⊦ valid-peb(apebs[n0].vidhdr.vol, apebs[n0].vidhdr.leb, apebs[n0])
Used simplifier rules: ⊦ recovery-entry(m, m0).pnum = m; (s)% ⊦ (v × m).leb = m; (s)% ⊦ (v × m).vol = v; (s)