| pebs[n] = mkpeb(buf1, m2, boolvar0), pebs[m] = mkpeb(buf, m0, false), pebs[m, mkpeb(buf, m0, true)][n] = mkpeb(buf0, m1, boolvar), m < # pebs, n < # pebs, mtd-cons(pebs), ¬ boolvar0 → m2 ≤ PEB_SIZE ∧ is-aligned(m2, EB_PAGE_SIZE) ∧ range=(buf1, m2, emptypeb, m2, PEB_SIZE - m2) ⊦ # buf0 = PEB_SIZE ∧ (¬ boolvar → m2 ≤ PEB_SIZE ∧ is-aligned(m2, EB_PAGE_SIZE) ∧ range=(buf1, m2, emptypeb, m2, PEB_SIZE - m2)) |
Used simplifier rules: ⊦ m ≠ n → pebs[n, peb][m] = pebs[m]; (s)% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m < n → (n ≤ m ↔ false); (s)%n < # pebs ⊦ pebs[n] = mkpeb(buf, m, boolvar) ∧ mtd-cons(pebs) → # buf = PEB_SIZE; (s)%⊦ mkpeb(buf, m, boolvar) = mkpeb(buf0, m0, boolvar0) ↔ buf = buf0 ∧ m = m0 ∧ (boolvar ↔ boolvar0); (ws)% ⊦ m < # pebs → pebs[m, peb][m] = peb; (s) Used formulas: n = m