| #(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: intersection-size: ⊦ ¬ # s0 + # s < #(s0 ∩ s);%int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1;%int-c: ⊦ s ∩ s0 = s0 ∩ s;% ⊦ n ≤ m → m + n0 - n = (m - n) + n0; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic% ⊦ m + n = m + n0 ↔ n = n0; (s)% ⊦ m < n → (n ≤ m ↔ false); (s)%n ≤ m ⊦ n0 = m - n ↔ m = n0 + n; (elim) Used terms: # s0 + # s, #(s0 ∩ s), n