| n < # apebs, valid-peb(v, m, apebs[n]), ¬ v ∈ vtbl ∨ ¬ m < vtbl[v] ⊦ valid-eraseq-strong(apebs, vtbl, eq-entry(n, v × m) ' + []) |
⊦ valid-eraseq-strong(apebs, vtbl, eqent ' + q) ↔ eqent.pnum < # apebs ∧ ¬ eqent.pnum ∈ q ∧ (∀ v, m. (valid-peb(v, m, apebs[eqent.pnum]) ↔ eqent.lebref = v × m) ∧ (eqent.lebref = v × m ∧ v ∈ vtbl ∧ m < vtbl[v] → apebs[eqent.pnum].vidhdr.sqn ≠ valid-sqns(v, m, apebs).max)) ∧ valid-eraseq-strong(apebs, vtbl, q)
n < # apebs, valid-peb(v, m, apebs[n]), ¬ v ∈ vtbl ∨ ¬ m < vtbl[v] ⊦ eq-entry(n, v × m).pnum < # apebs ∧ ¬ eq-entry(n, v × m).pnum ∈ [] ∧ (∀ v0, m0. (valid-peb(v0, m0, apebs[eq-entry(n, v × m).pnum]) ↔ eq-entry(n, v × m).lebref = v0 × m0) ∧ ( eq-entry(n, v × m).lebref = v0 × m0 ∧ v0 ∈ vtbl ∧ m0 < vtbl[v0] → apebs[eq-entry(n, v × m).pnum].vidhdr.sqn ≠ valid-sqns(v0, m0, apebs).max)) ∧ valid-eraseq-strong(apebs, vtbl, [])
Used terms: [], eq-entry(n, v × m), vtbl, apebs