| apebs[n] = mkpeb(aehdr, empty, buf, m, false), aehdr.valid?, avhdr0.valid?, n < # apebs, ubi-io-inv(apebs), ⌊err0⌋ ∨ err0 = ESUCCESS ⊦ ⟪apebs[n].vidhdr := avhdr⟫ ubi-io-inv(apebs), err0 = ESUCCESS, avhdr.valid? |
Used simplifier rules: ⊦ ⌊err⌋ → err ≠ ESUCCESS; (s)%⊦ ubi-io-inv(apebs) → ( ubi-io-inv(apebs[n, apeb]) ↔ n < # apebs ∧ ubi-io-peb-inv(apebs[n]) → ubi-io-peb-inv(apeb)); (ss)%⊦ aehdr.valid? → ( ubi-io-peb-inv(mkpeb(aehdr, empty, buf, n, false)) ↔ buf = mkempbuf(LEB_SIZE) ∧ n = 0); (s)%⊦ mkpeb(aehdr, avhdr, buf, m, boolvar).vidhdr:= avhdr0 = mkpeb(aehdr, avhdr0, buf, m, boolvar); (s)%⊦ aehdr.valid? → ubi-io-peb-inv(mkpeb(aehdr, avhdr, mkempbuf(LEB_SIZE), 0, false)); (s)