| s ≠ ∅, ∀ s0. # s0 < # s → true → list2set(set2list(s0)) = s0 ⊦ list2set(s.min + set2list(s.butmin)) = s |
∀ s0. # s0 < # s → true → list2set(set2list(s0)) = s0 ⊦ # s = 0, list2set(set2list(s.butmin)) ++ s.min = s, s = ∅
Used simplifier rules: list2set-rec: ⊦ list2set(a ' + x) = list2set(x) ++ a;% ⊦ # s ≠ 0 → s ≠ ∅; (forward)% ⊦ s ≠ ∅ → # s ≠ 0; (forward)% ⊦ (x + y) + z = x + y + z;% ⊦ a + x = a ' + x;