| apebs[m] = mkpeb(aehdr, avhdr, buf, m1, boolvar), apebs[0 + 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, m0 < m + 1, valid-peb(v, n, apebs[m0]), valid-peb(v, n, mkpeb(aehdr, avhdr, buf, m1, boolvar)) ⊦ valid-peb(v, n, mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)) ∧ avhdr0.sqn ≠ avhdr.sqn |
avhdr0.sqn = avhdr.sqn, apebs[m] = mkpeb(aehdr, avhdr, buf, m1, boolvar), apebs[m0] = mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0), 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, mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)) ⊦
Used simplifier rules: lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%⊦ valid-peb(v0, m0, apeb) → (valid-peb(v1, m1, apeb) ↔ v0 = v1 ∧ m0 = m1); (s)% ⊦ n < n0 → (n0 < n ↔ false); (ss)% ⊦ m < n + 1 ↔ ¬ n < m; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ n + 0 = n; (s)