| # apebs = # wlar, recs[VTBL_VOLID × VTBL_LNUM] = recovery-entry(m0, m1), apebs[m0] = mkpeb(aehdr, avhdr, buf, m, boolvar), m0 < # wlar, is-encoded(to-vtbl(vols) ∪ vtbl0, buf), unmapped-vols(vols), valid-recs(apebs, wlar, recs), valid-vtbl-weak(apebs, m0), VTBL_VOLID × VTBL_LNUM ∈ recs, v ∈ vtbl0, to-vtbl(vols) ⊥ vtbl0 ⊦ vtbl0 = ∅, v ∈ vols, to-vtbl(vols) ∪ vtbl0 = to-vtbl(vols)[v, vtbl0[v]] ∪ (vtbl0 -- v) ∧ unmapped-vols(vols[v, fill(mkebatbl(vtbl0[v]), unmapped)]) |
⊦ ¬ v ∈ vtbl ∧ v ∈ vtbl0 ∧ vtbl0[v] = n → vtbl[v, n] ∪ (vtbl0 -- v) = vtbl ∪ vtbl0
# apebs = # wlar, apebs[m0] = mkpeb(aehdr, avhdr, buf, m, boolvar), recs[VTBL_VOLID × VTBL_LNUM] = recovery-entry(m0, m1), vtbl0[v] = vtbl0[v], m0 < # wlar, is-encoded(to-vtbl(vols) ∪ vtbl0, buf), unmapped-vols(vols), valid-recs(apebs, wlar, recs), valid-vtbl-weak(apebs, m0), VTBL_VOLID × VTBL_LNUM ∈ recs, v ∈ vtbl0, to-vtbl(vols) ⊥ vtbl0 ⊦ vtbl0 = ∅, v ∈ vols, v ∈ to-vtbl(vols), to-vtbl(vols) ∪ vtbl0 = to-vtbl(vols) ∪ vtbl0 ∧ unmapped-vols(vols[v, fill(mkebatbl(vtbl0[v]), unmapped)])
Used simplifier rules: ⊦ v ∈ to-vtbl(vols) ↔ v ∈ vols; (s) Used terms: vtbl0, vtbl0[v], v, to-vtbl(vols)