| ¬ 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 |
a ∈ s0, ∀ s0. #(s0 ∪ s) = # s0 + # s - #(s0 ∩ s) ⊦ # s0 = 0, s0 = ∅, #(s ∪ s0) = # s0 + # s - #(s0 ∩ s), 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;%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%cancel-01: ⊦ m + n - n + n1 = m - n1; from specification nat