| #(s0 ∪ s) = # s0 + # s - #(s0 ∩ s) ⊦ #(s ∪ s0) + 1 = # s0 + # s + 1 - #(s0 ∩ s), a ∈ s, a ∈ s0, #(s0 ∩ s) ≤ # s0 + # s |
#(s0 ∪ s) = # s0 + # s - #(s0 ∩ s), # s0 + # s < #(s0 ∩ s) ⊦ #(s ∪ s0) + 1 = # s0 + # s + 1 - #(s0 ∩ s), a ∈ s, a ∈ s0
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≤ n ↔ ¬ n < m; (ss)