| ¬ 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 |
⊦ (ns ++ n).max = (ns = ∅ ⊃ n;(n < ns.max ⊃ ns.max;n))
Used simplifier rules: f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic%lf: ⊦ m < n ∧ n < n0 → m +1 < n0; (forward) from specification nat-basic%lf-02: ⊦ m < n ∧ m = n0 → n0 < n; (forward) from specification nat-basic%transitivity: ⊦ n < n0 ∧ n0 < n1 → n < n1; (forward) from specification oelem[nat-set]%size-zero-01: ⊦ ns ≠ ∅ → # ns ≠ 0; (forward) from specification set-basic[nat-set]% ⊦ m < n → n ≠ 0; (s)% ⊦ n < n0 → (n0 < n ↔ false); (ss) Used terms: m2, below(free-ecs(wlar, m3), n)