| avhdr.sqn = valid-sqns(v, m, apebs).max, apebs[n] = mkpeb(aehdr, avhdr, buf, m0, boolvar), n < # apebs, eqent.pnum < # apebs, valid-eraseq-stronger(apebs, q0), valid-peb(v, m, mkpeb(aehdr, avhdr, buf, m0, boolvar)), n ∈ eqent ' + q0, ∀ v, m. (valid-peb(v, m, apebs[eqent.pnum]) ↔ eqent.lebref = v × m) ∧ (eqent.lebref = v × m → apebs[eqent.pnum].vidhdr.sqn ≠ valid-sqns(v, m, apebs).max), ∀ avhdr0, v0, m1, apebs0, n0, aehdr0, buf0, m2, boolvar0. avhdr0.sqn ≠ valid-sqns(v0, m1, apebs0).max ∨ apebs0[n0] ≠ mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0) ∨ ¬ n0 < # apebs0 ∨ ¬ valid-eraseq-stronger(apebs0, q0) ∨ ¬ valid-peb(v0, m1, mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)) ∨ ¬ n0 ∈ q0 ⊦ eqent.pnum ∈ q0 |
avhdr.sqn = valid-sqns(v, m, apebs).max, apebs[n] = mkpeb(aehdr, avhdr, buf, m0, boolvar), eqent = eq-entry(m3, lref), m3 < # apebs, n < # apebs, valid-eraseq-stronger(apebs, q0), valid-peb(v, m, mkpeb(aehdr, avhdr, buf, m0, boolvar)), n ∈ eqent ' + q0, ∀ avhdr0, v0, m1, apebs0, n0, aehdr0, buf0, m2, boolvar0. avhdr0.sqn ≠ valid-sqns(v0, m1, apebs0).max ∨ apebs0[n0] ≠ mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0) ∨ ¬ n0 < # apebs0 ∨ ¬ valid-eraseq-stronger(apebs0, q0) ∨ ¬ valid-peb(v0, m1, mkpeb(aehdr0, avhdr0, buf0, m2, boolvar0)) ∨ ¬ n0 ∈ q0, ∀ v, m. (valid-peb(v, m, apebs[m3]) ↔ lref = v × m) ∧ (lref = v × m → apebs[m3].vidhdr.sqn ≠ valid-sqns(v, m, apebs).max) ⊦ m3 ∈ q0
Used simplifier rules: ⊦ m = eqent.pnum ∧ lref = eqent.lebref ↔ eqent = eq-entry(m, lref); (elim) Used terms: eqent, m3, lref