| apebs[m0] = mkpeb(aehdr, avhdr, buf, m1, boolvar), apebs[m0] = mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0), 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) ⊦ m0 = m, valid-peb(apeb), (valid-peb(mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)) → avhdr.vol × avhdr.leb = avhdr0.vol × avhdr0.leb) ∧ valid-eraseq(apebs[m, apeb], q0) |
apebs[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) ⊦ m0 = m, valid-eraseq(apebs[m, apeb], q0), valid-peb(apeb)
Used simplifier rules: ⊦ mkpeb(aehdr, avhdr, buf, m, boolvar) = mkpeb(aehdr0, avhdr0, buf0, m0, boolvar0) ↔ aehdr = aehdr0 ∧ avhdr = avhdr0 ∧ buf = buf0 ∧ m = m0 ∧ (boolvar ↔ boolvar0); (s)