| apebs[m0] = mkpeb(aehdr, avhdr, buf, m1, boolvar), m < # apebs, m0 < # apebs, valid-eraseq(apebs, q0), ∀ m, apebs, apeb. m < # apebs ∧ valid-eraseq(apebs, q0) → valid-eraseq(apebs[m, apeb], q0) ∨ valid-peb(apeb) ⊦ valid-peb(apeb), (valid-peb(apebs[m, apeb][m0]) → avhdr.vol × avhdr.leb = apebs[m, apeb][m0].vidhdr.vol × apebs[m, apeb][m0].vidhdr.leb) ∧ valid-eraseq(apebs[m, apeb], q0) |
apebs[m0] = mkpeb(aehdr, avhdr, buf, m1, boolvar), apebs[m, apeb][m0] = mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0), m0 < # apebs, m < # apebs, valid-eraseq(apebs, q0), ∀ m, apebs, apeb. m < # apebs ∧ valid-eraseq(apebs, q0) → valid-eraseq(apebs[m, apeb], q0) ∨ valid-peb(apeb) ⊦ valid-peb(apeb), (valid-peb(apebs[m, apeb][m0]) → avhdr.vol × avhdr.leb = avhdr0.vol × avhdr0.leb) ∧ valid-eraseq(apebs[m, apeb], q0)
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[m, apeb][m0], aehdr0, avhdr0, buf0, m2, boolvar0