| n < # apebs, valid-eraseq-strong(apebs, vtbl, q), valid-peb(v, m, apebs[n]), ¬ v ∈ vtbl ∨ ¬ m < vtbl[v] ⊦ valid-eraseq-strong(apebs, vtbl, q + eq-entry(n, v × m) '), n ∈ q |
n < # apebs, valid-eraseq-strong(apebs, vtbl, []), valid-peb(v, m, apebs[n]), ¬ v ∈ vtbl ∨ ¬ m < vtbl[v] ⊦ valid-eraseq-strong(apebs, vtbl, [] + eq-entry(n, v × m) '), n ∈ []
n < # apebs, valid-eraseq-strong(apebs, vtbl, eqent + q0), valid-peb(v, m, apebs[n]), ∀ n, apebs, vtbl, v, m. n < # apebs ∧ valid-eraseq-strong(apebs, vtbl, q0) ∧ valid-peb(v, m, apebs[n]) ∧ (¬ v ∈ vtbl ∨ ¬ m < vtbl[v]) → valid-eraseq-strong(apebs, vtbl, q0 + eq-entry(n, v × m) ') ∨ n ∈ q0, ¬ v ∈ vtbl ∨ ¬ m < vtbl[v] ⊦ valid-eraseq-strong(apebs, vtbl, (eqent + q0) + eq-entry(n, v × m) '), n ∈ eqent + q0
Used simplifier rules: queue freely generated by [], +;;