| # wlar = # apebs1, # buf1 = LEB_SIZE, wlar[n] = wl-entry(aehdr1.ec, free), apebs1[n] = mkpeb(aehdr1, empty, mkempbuf(LEB_SIZE), 0, false), wlar[vtblpnum2] = wl-entry(m, stat), apebs1[vtblpnum2] = mkpeb(aehdr, empty, buf0, 0, false), aehdr1.valid?, 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)]), ENCODED_NAT_SIZE ≤ LEB_SIZE ⊦ aehdr1 = aechdr(aehdr1.ec), n = vtblpnum2, vtblpnum2 = # apebs1, wl-entry(aehdr1.ec, free) = wl-entry(0, erroneous) |
Used simplifier rules: ⊦ aehdr.valid? → (m = aehdr.ec ↔ aehdr = aechdr(m)); (elim) Used terms: aehdr1, m