| ¬ boolvar ↔ used-ecs(wlar, m0) = ∅, wlar[m0] = wl-entry(m1, used), wlar[vtblpnum] = wl-entry(m, stat), m0 < # wlar, boolvar → vtblpnum < m0 ∧ stat = used ∧ m = used-ecs(wlar, m0).min, boolvar → vtblpnum < # wlar, ¬ boolvar ∨ m1 < m ⊦ m1 = used-ecs(wlar, m0 + 1).min ∧ used-ecs(wlar, m0 + 1) ≠ ∅ |
⊦ n < # wlar → used-ecs(wlar, n + 1) = (wlar[n].status = used ⊃ used-ecs(wlar, n) ++ wlar[n].ec;used-ecs(wlar, n))
¬ boolvar ↔ used-ecs(wlar, m0) = ∅, wlar[vtblpnum] = wl-entry(m, stat), wlar[m0] = wl-entry(m1, used), m0 < # wlar, boolvar → vtblpnum < # wlar, boolvar → vtblpnum < m0 ∧ stat = used ∧ m = used-ecs(wlar, m0).min, ¬ boolvar ∨ m1 < m ⊦ m1 = (wlar[m0].status = used ⊃ used-ecs(wlar, m0) ++ wlar[m0].ec;used-ecs(wlar, m0)).min ∧ (wlar[m0].status = used ⊃ used-ecs(wlar, m0) ++ wlar[m0].ec;used-ecs(wlar, m0)) ≠ ∅
Used terms: m0, wlar