| wlar[m] = wl-entry(m2, stat1), wlar[n0] = wl-entry(m2, stat0), m < n0, m < # wlar, n0 < # wlar, m + 1 < # wlar, n0 ≤ # wlar → ecs(wlar[m, wl-entry(m0, stat)], n0) = (m < n0 ⊃ (ecs(wlar, n0) -- wlar[m].ec) ++ wl-entry(m0, stat).ec;ecs(wlar, n0)) ⊦ ecs(wlar[m, wl-entry(m0, stat)], n0) ++ m2 = ecs(wlar, n0) ++ m0, n0 = m |
wlar[m] = wl-entry(m2, stat1), wlar[n0] = wl-entry(m2, stat0), ecs(wlar[m, wl-entry(m0, stat)], n0) = (ecs(wlar, n0) -- m2) ++ m0, m < n0, m < # wlar, n0 < # wlar, m + 1 < # wlar ⊦ (m2 ∈ ecs(wlar, n0) ⊃ ecs(wlar, n0);ecs(wlar, n0) ++ m2) = ecs(wlar, n0), n0 = m
Used simplifier rules: ⊦ (bag -- n) ++ n = (n ∈ bag ⊃ bag;bag ++ n); (s)% ⊦ bag ++ n ++ n0 = bag2 ++ n ↔ bag ++ n0 = bag2; (ss)% ⊦ wl-entry(m, stat).ec = m; (s)% ⊦ m < n → m ≤ n; (s)