| valid-eraseq(apebs, (eqent0 + q) + eqent ' + q1), ∀ apebs, eqent, q1. valid-eraseq(apebs, q + eqent ' + q1) → valid-eraseq(apebs, q + q1) ⊦ valid-eraseq(apebs, (eqent0 + q) + q1) |
eqent0.pnum < # apebs, valid-eraseq(apebs, q + eqent ' + q1), valid-peb(apebs[eqent0.pnum]) → eqent0.lebref = apebs[eqent0.pnum].vidhdr.vol × apebs[eqent0.pnum].vidhdr.leb, ∀ apebs, eqent, q1. valid-eraseq(apebs, q + eqent ' + q1) → valid-eraseq(apebs, q + q1) ⊦ valid-eraseq(apebs, q + q1)
Used simplifier rules: valid-eraseqp-rec: ⊦ valid-eraseq(apebs, eqent ' + q) ↔ eqent.pnum < # apebs ∧ ( valid-peb(apebs[eqent.pnum]) → eqent.lebref = apebs[eqent.pnum].vidhdr.vol × apebs[eqent.pnum].vidhdr.leb) ∧ valid-eraseq(apebs, q);% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%a: ⊦ (q + q0) + q1 = q + q0 + q1; from specification list[erasequeue-base]% ⊦ eqent + q = eqent ' + q; (s)