| ¬ boolvar ↔ below(free-ecs(wlar, m3), n) = ∅, wlar[vtblpnum] = wl-entry(m, stat), wlar[m0] = wl-entry(m1, free), wlar[m3] = wl-entry(m2, free), m2 < n, m1 < n, m0 < # wlar, m3 < # wlar, boolvar → vtblpnum < # wlar ∧ stat = free ∧ m = below(free-ecs(wlar, m3), n).max, boolvar → vtblpnum < # wlar, ¬ boolvar ∨ m < m2 ⊦ m2 = below((wlar[m3].status = free ⊃ free-ecs(wlar, m3) ++ wlar[m3].ec;free-ecs(wlar, m3)), n).max ∧ below((wlar[m3].status = free ⊃ free-ecs(wlar, m3) ++ wlar[m3].ec;free-ecs(wlar, m3)), n) ≠ ∅ |
¬ boolvar ↔ below(free-ecs(wlar, m3), n) = ∅, wlar[vtblpnum] = wl-entry(m, stat), wlar[m0] = wl-entry(m1, free), wlar[m3] = wl-entry(m2, free), m2 < n, m1 < n, m0 < # wlar, m3 < # wlar, boolvar → vtblpnum < # wlar ∧ stat = free ∧ m = below(free-ecs(wlar, m3), n).max, boolvar → vtblpnum < # wlar, ¬ boolvar ∨ m < m2 ⊦ m2 = below(free-ecs(wlar, m3) ++ m2, n).max ∧ below(free-ecs(wlar, m3) ++ m2, n) ≠ ∅
Used simplifier rules: ⊦ wl-entry(m, stat).ec = m; (s)% ⊦ wl-entry(m, stat).status = stat; (s)