| a ∈ s0 ⊦ s0 = ∅, #(s ∪ s0) = #((s ∪ s0) -- a) + 1, # s0 = 0, a ∈ s |
Used simplifier rules: del-size: ⊦ a ∈ s → #(s -- a) = # s - 1;%unin: ⊦ ¬ a ∈ s → (a ∈ s ∪ s0 ↔ a ∈ s0);%una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1;%unc: ⊦ s ∪ s0 = s0 ∪ s;%une-01: ⊦ s1 ∪ s2 = ∅ ↔ s1 = ∅ ∧ s2 = ∅;%del-in: ⊦ ¬ a ∈ s → s -- a = s;%unin: ⊦ ¬ a ∈ s → (a ∈ s ∪ s0 ↔ a ∈ s0);%una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1;%unc: ⊦ s ∪ s0 = s0 ∪ s;%eq: ⊦ m = m + n ↔ n = 0; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%size-zero-02: ⊦ # s = 0 → s = ∅; (forward) from specification set-basic%eq-02: n ≤ m ⊦ (m - n) + n0 = n1 ↔ m + n0 = n + n1; from specification nat Used formulas: a ∈ s ∪ s0