| apebs[n] = mkpeb(aehdr, avhdr, buf, m, boolvar), m0 < # apebs, valid-eraseq(apebs, q0), valid-peb(apebs[m0]) → lref0 = apebs[m0].vidhdr.vol × apebs[m0].vidhdr.leb, ∀ apebs, n, aehdr, avhdr, buf, m, boolvar, lref. apebs[n] = mkpeb(aehdr, avhdr, buf, m, boolvar) ∧ valid-eraseq(apebs, q0) → ( valid-eraseq(apebs, q0 + eq-entry(n, lref) ') ↔ n < # apebs ∧ (valid-peb(mkpeb(aehdr, avhdr, buf, m, boolvar)) → lref = avhdr.vol × avhdr.leb)) ⊦ valid-eraseq(apebs, q0 + eq-entry(n, lref) ') ↔ n < # apebs ∧ (valid-peb(mkpeb(aehdr, avhdr, buf, m, boolvar)) → lref = avhdr.vol × avhdr.leb) |
apebs[n] = mkpeb(aehdr, avhdr, buf, m, boolvar), apebs[m0] = mkpeb(aehdr0, avhdr0, buf0, m1, boolvar0), m0 < # apebs, valid-eraseq(apebs, q0), valid-peb(apebs[m0]) → lref0 = avhdr0.vol × avhdr0.leb, ∀ apebs, n, aehdr, avhdr, buf, m, boolvar, lref. apebs[n] = mkpeb(aehdr, avhdr, buf, m, boolvar) ∧ valid-eraseq(apebs, q0) → ( valid-eraseq(apebs, q0 + eq-entry(n, lref) ') ↔ n < # apebs ∧ (valid-peb(mkpeb(aehdr, avhdr, buf, m, boolvar)) → lref = avhdr.vol × avhdr.leb)) ⊦ valid-eraseq(apebs, q0 + eq-entry(n, lref) ') ↔ n < # apebs ∧ (valid-peb(mkpeb(aehdr, avhdr, buf, m, boolvar)) → lref = avhdr.vol × avhdr.leb)
Used simplifier rules: ⊦ ( ((aehdr = apeb.echdr ∧ avhdr = apeb.vidhdr) ∧ buf = apeb.data) ∧ m = apeb.fill) ∧ (boolvar ↔ apeb.bad) ↔ apeb = mkpeb(aehdr, avhdr, buf, m, boolvar); (elim) Used terms: apebs[m0], aehdr0, avhdr0, buf0, m1, boolvar0