| pebs[m0] = mkpeb(buf, m, false), m0 < # pebs, mtd-cons(pebs) ⊦ ⟪ubi_io_read_echdr#(m0, EB_PAGE_SIZE, pebs; aehdr; bitflips, err)⟫ true |
pebs[m0] = mkpeb(buf, m1, false), m = EB_PAGE_SIZE, m0 < # pebs, mtd-cons(pebs) ⊦ ⟪if m0 < # pebs ∧ ¬ pebs[m0].bad then let buf = mkbuf(m) in {ubi_io_read#(m0, 0, 0, m, pebs; buf; bitflips, err); if err = ESUCCESS then if isempty(buf) then aehdr := empty else let ehdr = ? in {decode_echeader#(m, buf; ehdr; err); if err = ESUCCESS then aehdr := aechdr(ehdr.ec)}} else abort⟫ true
Used simplifier rules: read-echdr: ⊦ ;