| # wlar = # apebs1, # buf1 = LEB_SIZE, apebs1[vtblpnum2] = mkpeb(aehdr, empty, buf0, m, false), aehdr.valid?, vtblpnum2 < # apebs1, is-encoded(∅, buf1), ubi-io-inv(apebs1[vtblpnum2, mkpeb(aehdr, avidhdr(VTBL_VOLID, VTBL_LNUM, 0, 0, 0), buf0, m, false)]), ubi-io-peb-initial(mkpeb(aehdr, empty, buf0, m, false)), ENCODED_NAT_SIZE ≤ LEB_SIZE, ∀ n3. n3 < # apebs1 → (apebs1[n3].bad → wlar[n3] = wl-entry(0, erroneous)) ∧ (¬ apebs1[n3].bad → apebs1[n3].echdr.valid? ∧ wlar[n3] = wl-entry(apebs1[n3].echdr.ec, free) ∧ apebs1[n3].vidhdr = empty) ⊦ m = 0, vtblpnum2 = # apebs1 |
⊦ ubi-io-peb-initial(apeb) ↔ ubi-io-peb-inv(apeb) ∧ (¬ apeb.bad → apeb.echdr.valid? ∧ apeb.vidhdr = empty)
Used simplifier rules: ⊦ aehdr.valid? → ( ubi-io-peb-inv(mkpeb(aehdr, empty, buf, n, false)) ↔ buf = mkempbuf(LEB_SIZE) ∧ n = 0); (s) Used terms: mkpeb(aehdr, empty, buf0, m, false)