| pebs[n] = mkpeb(buf, m, boolvar), n < # pebs, mtd-cons(pebs) ⊦ # buf = PEB_SIZE |
pebs[n] = mkpeb(buf, m, boolvar), n < # pebs, ∀ n0. n0 < # pebs → # pebs[n0].data = PEB_SIZE ∧ ( ¬ pebs[n0].bad → pebs[n0].fill ≤ PEB_SIZE ∧ is-aligned(pebs[n0].fill, EB_PAGE_SIZE) ∧ range=(pebs[n0].data, pebs[n0].fill, emptypeb, pebs[n0].fill, PEB_SIZE - pebs[n0].fill)) ⊦ # buf = PEB_SIZE
Used simplifier rules: mtd-cons: ⊦ mtd-cons(pebs) ↔ (∀ n. n < # pebs → mtd-valid-peb(pebs[n]));%mtd-valid-peb: ⊦ mtd-valid-peb(peb) ↔ # peb.data = PEB_SIZE ∧ ( ¬ peb.bad → peb.fill ≤ PEB_SIZE ∧ is-aligned(peb.fill, EB_PAGE_SIZE) ∧ range= (peb.data, peb.fill, emptypeb, peb.fill, PEB_SIZE - peb.fill));% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic