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