| ¬ boolvar ↔ free-ecs(wlar, m0) = ∅, wlar[m0] = wl-entry(m, stat), m0 < # wlar, boolvar → n = free-ecs(wlar, m0).min ⊦ stat = free ∧ (¬ boolvar ∨ m < n), (boolvar → n = (stat = free ⊃ free-ecs(wlar, m0) ++ m;free-ecs(wlar, m0)).min) ∧ (¬ boolvar ↔ (stat = free ⊃ free-ecs(wlar, m0) ++ m;free-ecs(wlar, m0)) = ∅) |
¬ boolvar ↔ free-ecs(wlar, m0) = ∅, wlar[m0] = wl-entry(m, stat), boolvar, m0 < # wlar, boolvar → n = free-ecs(wlar, m0).min ⊦ n = (stat = free ⊃ free-ecs(wlar, m0) ++ m;free-ecs(wlar, m0)).min, stat = free ∧ (¬ boolvar ∨ m < n)
Used simplifier rules: ⊦ ∅ ≠ ns ++ n; (s)