| ∀ n. n < # pebs0 → mtd-valid-peb(pebs0[n]) ⊦ (∀ n. n < # pebs1 → # pebs1[n].data = PEB_SIZE ∧ ( ¬ pebs1[n].bad → pebs1[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs1[n].fill, EB_PAGE_SIZE) ∧ range=(pebs1[n].data, pebs1[n].fill, emptypeb, pebs1[n].fill, PEB_SIZE - pebs1[n].fill))) ↔ (∀ n. n < # pebs1 ∧ ( n < # pebs0 → # pebs0[n].data = PEB_SIZE ∧ ( ¬ pebs0[n].bad → pebs0[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs0[n].fill, EB_PAGE_SIZE) ∧ range=(pebs0[n].data, pebs0[n].fill, emptypeb, pebs0[n].fill, PEB_SIZE - pebs0[n].fill))) → # pebs1[n].data = PEB_SIZE ∧ ( ¬ pebs1[n].bad → pebs1[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs1[n].fill, EB_PAGE_SIZE) ∧ range=(pebs1[n].data, pebs1[n].fill, emptypeb, pebs1[n].fill, PEB_SIZE - pebs1[n].fill))) |
∀ n. n < # pebs0 → # pebs0[n].data = PEB_SIZE ∧ ( ¬ pebs0[n].bad → pebs0[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs0[n].fill, EB_PAGE_SIZE) ∧ range=(pebs0[n].data, pebs0[n].fill, emptypeb, pebs0[n].fill, PEB_SIZE - pebs0[n].fill)) ⊦ (∀ n. n < # pebs1 → # pebs1[n].data = PEB_SIZE ∧ ( ¬ pebs1[n].bad → pebs1[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs1[n].fill, EB_PAGE_SIZE) ∧ range=(pebs1[n].data, pebs1[n].fill, emptypeb, pebs1[n].fill, PEB_SIZE - pebs1[n].fill))) ↔ (∀ n. n < # pebs1 ∧ ( n < # pebs0 → # pebs0[n].data = PEB_SIZE ∧ ( ¬ pebs0[n].bad → pebs0[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs0[n].fill, EB_PAGE_SIZE) ∧ range=(pebs0[n].data, pebs0[n].fill, emptypeb, pebs0[n].fill, PEB_SIZE - pebs0[n].fill))) → # pebs1[n].data = PEB_SIZE ∧ ( ¬ pebs1[n].bad → pebs1[n].fill ≤ PEB_SIZE ∧ is-aligned(pebs1[n].fill, EB_PAGE_SIZE) ∧ range=(pebs1[n].data, pebs1[n].fill, emptypeb, pebs1[n].fill, PEB_SIZE - pebs1[n].fill)))
Used simplifier rules: ⊦ 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)); (s)