| m < # apebs, ∀ v, m. unique-elems(valid-sqns(v, m, apebs)) ⊦ (∀ v, m0. unique-elems(valid-sqns(v, m0, apebs[m, apeb]))) ↔ ¬ valid-peb(apeb) ∨ ¬ apeb.vidhdr.sqn ∈ valid-sqns(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs) \ (valid-peb(apeb.vidhdr.vol, apeb.vidhdr.leb, apebs[m]) ⊃ {apebs[m].vidhdr.sqn} ;∅) |
apeb = mkpeb(aehdr, avhdr, buf, m1, boolvar), m < # apebs, ∀ v, m. unique-elems(valid-sqns(v, m, apebs)) ⊦ (∀ v, m0. unique-elems(valid-sqns(v, m0, apebs[m, apeb]))) ↔ ¬ valid-peb(apeb) ∨ ¬ avhdr.sqn ∈ valid-sqns(avhdr.vol, avhdr.leb, apebs) \ (valid-peb(avhdr.vol, avhdr.leb, apebs[m]) ⊃ {apebs[m].vidhdr.sqn} ;∅)
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: apeb, aehdr, avhdr, buf, m1, boolvar