| ¬ boolvar ↔ free-ecs(wlar, m0) = ∅, wlar[m0] = wl-entry(m, stat), m0 < # wlar, boolvar → n = free-ecs(wlar, m0).min ⊦ (boolvar → n = (wlar[m0].status = free ⊃ free-ecs(wlar, m0) ++ wlar[m0].ec;free-ecs(wlar, m0)).min) ∧ (¬ boolvar ↔ (wlar[m0].status = free ⊃ free-ecs(wlar, m0) ++ wlar[m0].ec;free-ecs(wlar, m0)) = ∅), stat = free ∧ (¬ boolvar ∨ m < n) |
¬ 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)) = ∅)
Used simplifier rules: ⊦ wl-entry(m, stat).ec = m; (s)% ⊦ wl-entry(m, stat).status = stat; (s)