| a ∈ s0, a ∈ s0, ∀ s0. #(s0 ∪ s) = # s0 + # s - #(s0 ∩ s) ⊦ s0 = ∅, #(s ∪ s0) = # s0 + # s + 1 - #((s0 ∩ s) ++ a), # s0 = 0, a ∈ s |
⊦ ¬ a ∈ s → #(s ++ a) = # s + 1
¬ a ∈ s0 ∩ s, a ∈ s0, a ∈ s0, ∀ s0. #(s0 ∪ s) = # s0 + # s - #(s0 ∩ s) ⊦ s0 = ∅, #(s ∪ s0) = # s0 + # s + 1 - #(s0 ∩ s) + 1, # s0 = 0, a ∈ s
Used simplifier rules: Intersect: ⊦ a ∈ s1 ∩ s2 ↔ a ∈ s1 ∧ a ∈ s2;%int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1;%int-c: ⊦ s ∩ s0 = s0 ∩ s;%eq: ⊦ a ∈ s → s ++ a = s; from specification set-basic Used terms: a, s0 ∩ s