| apebs[m2] = mkpeb(aehdr, avhdr1, subarray(buf1, 2 * EB_PAGE_SIZE, LEB_SIZE), m1, false), pebs[m2] = mkpeb(buf1, (aehdr = empty ⊃ 0;m1 + 2 * EB_PAGE_SIZE), false), avhdr1.valid?, m2 < # pebs, m2 < # apebs, abs(pebs, apebs), abs-echdr(subarray(buf1, 0, EB_PAGE_SIZE), aehdr), abs-peb(mkpeb(buf1, (aehdr = empty ⊃ 0;m1 + 2 * EB_PAGE_SIZE), false), mkpeb(aehdr, avhdr1, subarray(buf1, 2 * EB_PAGE_SIZE, LEB_SIZE), m1, false)), is-encoded(vidhdr(avhdr1.vol, avhdr1.leb, avhdr1.sqn, avhdr1.size, avhdr1.checksum), subarray(buf1, EB_PAGE_SIZE, EB_PAGE_SIZE)), mtd-cons(pebs), ubi-io-inv(apebs), 2 * EB_PAGE_SIZE ≤ PEB_SIZE ⊦ avhdr1 = garbage, avhdr1 = empty, avidhdr(avhdr1.vol, avhdr1.leb, avhdr1.sqn, avhdr1.size, avhdr1.checksum) = avhdr1, subarray(buf1, EB_PAGE_SIZE, EB_PAGE_SIZE) = emptypage |
Used simplifier rules: avidheader freely generated by empty, garbage, avidhdr;;% ⊦ avidhdr(v, m, m0, m1, m2).vol = v; (s)% ⊦ avidhdr(v, m, m0, m1, m2).leb = m; (s)% ⊦ avidhdr(v, m, m0, m1, m2).sqn = m0; (s)% ⊦ avidhdr(v, m, m0, m1, m2).size = m1; (s)% ⊦ avidhdr(v, m, m0, m1, m2).checksum = m2; (s)