| #(s0 ∪ s) = n0, # s0 + # s = n0 + #(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 ⊦ #(s ∪ s0) = # s0 + # s - #(s0 ∩ s), a ∈ s0, a ∈ s
Used simplifier rules: ⊦ m + n = m + n0 ↔ n = n0; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic% ⊦ n ≤ m → m + n0 - n = (m - n) + n0; (s)