| # apebs = # wlar, apebs[m0] = mkpeb(aehdr, avhdr, buf, m, boolvar), recs[VTBL_VOLID × VTBL_LNUM] = recovery-entry(m0, m1), m0 < # wlar, m2 < # vols[v, fill(mkebatbl(vtbl0[v]), unmapped)][v0], 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, v0 ∈ vols[v, fill(mkebatbl(vtbl0[v]), unmapped)], to-vtbl(vols) ⊥ vtbl0 ⊦ vols[v, fill(mkebatbl(vtbl0[v]), unmapped)][v0][m2] = unmapped, vtbl0 = ∅, v ∈ vols |
# apebs = # wlar, recs[VTBL_VOLID × VTBL_LNUM] = recovery-entry(m0, m1), apebs[m0] = mkpeb(aehdr, avhdr, buf, m, boolvar), m2 < # vols[v, fill(mkebatbl(vtbl0[v]), unmapped)][v0], m0 < # wlar, is-encoded(to-vtbl(vols) ∪ vtbl0, buf), unmapped-vols(vols), valid-recs(apebs, wlar, recs), valid-vtbl-weak(apebs, m0), v0 ∈ vols[v, fill(mkebatbl(vtbl0[v]), unmapped)], v ∈ vtbl0, VTBL_VOLID × VTBL_LNUM ∈ recs, to-vtbl(vols) ⊥ vtbl0 ⊦ vols[v, fill(mkebatbl(vtbl0[v]), unmapped)][v0][m2] = unmapped, v0 = v, vtbl0 = ∅, v ∈ vols
Used simplifier rules: ⊦ vols[v, ebatbl][v] = ebatbl; (s)% ⊦ v ∈ vols[v0, ebatbl] ↔ v = v0 ∨ v ∈ vols; (ws)% ⊦ # fill(ebatbl, ebae) = # ebatbl; (s)% ⊦ # mkebatbl(n) = n; (s)% ⊦ m < n → fill(mkebatbl(n), ebae)[m] = ebae; (s) Used formulas: v0 = v