| apebs[m] = mkpeb(aehdr, avhdr, buf, m1, boolvar), m0 < # apebs, valid-sqns(v, n, apebs, m).max < avhdr.sqn, m0 < m, m < # apebs, m0 + 1 < # apebs, valid-peb(v, n, mkpeb(aehdr, avhdr, buf, m1, boolvar)), valid-peb(v, n, apebs[m0]) ⊦ valid-peb(v, n, subarray(apebs, 0, m + 1)[m0]) ∧ subarray(apebs, 0, m + 1)[m0].vidhdr.sqn ≠ avhdr.sqn |
apebs[m] = mkpeb(aehdr, avhdr, buf, m1, boolvar), subarray(apebs, 0, m + 1)[m0] = mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0), m0 + 1 < # apebs, m < # apebs, m0 < m, valid-sqns(v, n, apebs, m).max < avhdr.sqn, m0 < # apebs, valid-peb(v, n, apebs[m0]), valid-peb(v, n, mkpeb(aehdr, avhdr, buf, m1, boolvar)) ⊦ valid-peb(v, n, subarray(apebs, 0, m + 1)[m0]) ∧ avhdr0.sqn ≠ avhdr.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: subarray(apebs, 0, m + 1)[m0], aehdr0, avhdr0, buf0, m2, boolvar0