| apebs[m2] = mkpeb(aehdr, empty, buf, m1, false), aehdr.valid?, avhdr.valid?, m2 < # pebs, m2 < # apebs, abs(pebs, apebs), mtd-cons(pebs), ubi-io-inv(apebs) ⊦ pebs[m2].fill = EB_PAGE_SIZE ∧ ¬ pebs[m2].bad |
Used simplifier rules: abs-bad: ⊦ n < # apebs ∧ abs(pebs, apebs) ∧ pebs[n] = mkpeb(buf0, m0, boolvar0) ∧ apebs[n] = mkpeb(aehdr, avhdr, buf, m1, boolvar1) → (boolvar0 ↔ boolvar1); (forward) from specification ubi-io-abs%abs-fwd: ⊦ n < # pebs ∧ pebs[n] = peb ∧ abs(pebs, apebs) → n < # apebs ∧ abs-peb(peb, apebs[n]); (forward) from specification ubi-io-abs%abs-fillcount-empty-vidhdr: ⊦ n < # pebs ∧ apebs[n] = mkpeb(aehdr, empty, buf, m, false) ∧ pebs[n] = mkpeb(buf0, m0, false) ∧ aehdr.valid? ∧ abs(pebs, apebs) → m0 = EB_PAGE_SIZE; (forward) from specification ubi-io-abs%⊦ (buf = peb.data ∧ m = peb.fill) ∧ (boolvar ↔ peb.bad) ↔ peb = mkpeb(buf, m, boolvar); (elim) Used terms: pebs[m2], buf0, m, boolvar