| vols[v][m] = ⌜n⌝ ∧ v ∈ vols ∧ m < # vols[v] ↔ wlar[n].status = used ∧ n < # apebs ∧ n < # wlar ∧ avhdr.valid? ∧ avhdr.vol = v ∧ avhdr.leb = m ∧ n ≠ n0, wlar[n1, wle][n0, wl-entry(m0, erasing)][n] = wl-entry(m3, stat), wlar[n1] = wl-entry(m1, free), apebs[n] = mkpeb(aehdr, avhdr, buf, m2, boolvar) ⊦ vols[v][m] = ⌜n⌝ ∧ v ∈ vols ∧ m < # vols[v] ↔ stat = used ∧ n < # apebs ∧ n < # wlar ∧ avhdr.valid? ∧ avhdr.vol = v ∧ avhdr.leb = m ∧ n ≠ n1 |
vols[v][m] = ⌜n⌝ ∧ v ∈ vols ∧ m < # vols[v] ↔ stat0 = used ∧ n < # apebs ∧ n < # wlar ∧ avhdr.valid? ∧ avhdr.vol = v ∧ avhdr.leb = m ∧ n ≠ n0, apebs[n] = mkpeb(aehdr, avhdr, buf, m2, boolvar), wlar[n1] = wl-entry(m1, free), wlar[n1, wle][n0, wl-entry(m0, erasing)][n] = wl-entry(m3, stat), wlar[n] = wl-entry(m4, stat0) ⊦ vols[v][m] = ⌜n⌝ ∧ v ∈ vols ∧ m < # vols[v] ↔ stat = used ∧ n < # apebs ∧ n < # wlar ∧ avhdr.valid? ∧ avhdr.vol = v ∧ avhdr.leb = m ∧ n ≠ n1
Used simplifier rules: ⊦ m = wle.ec ∧ stat = wle.status ↔ wle = wl-entry(m, stat); (elim) Used terms: wlar[n], m4, stat0