| avhdr0.sqn = avhdr.sqn, apebs[m0] = mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0), apebs[m] = mkpeb(aehdr, avhdr, buf, m1, boolvar), m0 + 1 < # apebs, m < # apebs, m0 < m, valid-sqns(v, n, apebs, m).max < avhdr.sqn, m0 < # apebs, valid-peb(v, n, mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)), valid-peb(v, n, mkpeb(aehdr, avhdr, buf, m1, boolvar)), m0 < m ∧ m ≤ # apebs ∧ valid-peb(v, n, apebs[m0]) → (∃ bag. valid-sqns(v, n, apebs, m) = bag ++ apebs[m0].vidhdr.sqn) ⊦ |
avhdr0.sqn = avhdr.sqn, apebs[m] = mkpeb(aehdr, avhdr, buf, m1, boolvar), apebs[m0] = mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0), valid-sqns(v, n, apebs, m) = bag ++ avhdr.sqn, m0 < # apebs, (bag ++ avhdr.sqn).max < avhdr.sqn, m0 < m, m < # apebs, m0 + 1 < # apebs, valid-peb(v, n, mkpeb(aehdr, avhdr, buf, m1, boolvar)), valid-peb(v, n, mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)) ⊦
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic% ⊦ mkpeb(aehdr, avhdr, buf, m, boolvar).vidhdr = avhdr; (s)%⊦ valid-peb(v0, m0, apeb) → (valid-peb(v1, m1, apeb) ↔ v0 = v1 ∧ m0 = m1); (s)% ⊦ m < n → m ≤ n; (s)