| ∀ s0. #(s0 ∪ s) = # s0 + # s - #(s0 ∩ s) ⊦ #((s ∪ s0) ++ a) = # s0 + # s + 1 - #(s0 ∩ (s ++ a)), a ∈ s, a ∈ s ∪ s0 |
∀ s0. #(s0 ∪ s) = # s0 + # s - #(s0 ∩ s) ⊦ #(s ∪ s0) + 1 = # s0 + # s + 1 - #(s0 ∩ s), a ∈ s, a ∈ s0
Used simplifier rules: Union: ⊦ a ∈ s1 ∪ s2 ↔ a ∈ s1 ∨ a ∈ s2;%una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1;%unc: ⊦ s ∪ s0 = s0 ∪ s;%intersection-insert: ⊦ ¬ a ∈ s → s ∩ (s0 ++ a) = s ∩ s0;%int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1;%int-c: ⊦ s ∩ s0 = s0 ∩ s;% ⊦ ¬ a ∈ s → #(s ++ a) = # s + 1; (s)