| # wlar = # apebs1, # buf1 = LEB_SIZE, wlar[n] = wl-entry(m3, stat0), apebs1[n] = mkpeb(aehdr1, avhdr0, buf2, m2, boolvar0), wlar[vtblpnum2] = wl-entry(m, stat), apebs1[vtblpnum2] = mkpeb(aehdr, empty, buf0, 0, false), aehdr.valid?, n < # apebs1, vtblpnum2 < # apebs1, is-aligned(LEB_SIZE, EB_PAGE_SIZE), is-encoded(∅, buf1), ubi-io-initial(apebs1), ubi-io-inv(apebs1[vtblpnum2, mkpeb(aehdr, avidhdr(VTBL_VOLID, VTBL_LNUM, 0, 0, 0), buf0, 0, false)]), ubi-io-inv(apebs1[vtblpnum2, mkpeb(aehdr, avidhdr(VTBL_VOLID, VTBL_LNUM, 0, 0, 0), buf1, LEB_SIZE, false)]), ubi-io-peb-inv(mkpeb(aehdr1, avhdr0, buf2, m2, boolvar0)), ENCODED_NAT_SIZE ≤ LEB_SIZE, boolvar0 → wl-entry(m3, stat0) = wl-entry(0, erroneous), ¬ boolvar0 → aehdr1.valid? ∧ wl-entry(m3, stat0) = wl-entry(aehdr1.ec, free) ∧ avhdr0 = empty ⊦ stat0 = erroneous ↔ boolvar0, n = vtblpnum2, vtblpnum2 = # apebs1 |
Used simplifier rules: ⊦ wl-entry(m, stat) = wl-entry(m0, stat0) ↔ m = m0 ∧ stat = stat0; (ws)% ⊦ free ≠ erroneous; (s)