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