| # s0 + # s1 < #(s0 ∪ s1) ⊦ |
# s0 + #(s ++ a) < #(s0 ∪ (s ++ a)), ∀ s0. ¬ # s0 + # s < #(s0 ∪ s) ⊦
Used simplifier rules: une: ⊦ s ∪ ∅ = s;%una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1;%unc: ⊦ s ∪ s0 = s0 ∪ s;%set generated by ∅, ++;;% ⊦ # ∅ = 0; (s)% ⊦ 0 + m = m; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic% ⊦ ¬ n < n; (s)