| #(s0 ++ a0) = 1, ∀ a, b. # s0 = 1 ∧ a ∈ s0 ∧ b ∈ s0 → a = b, a = a0 ∨ a ∈ s0, b = a0 ∨ b ∈ s0 ⊦ a = b |
#(s0 ++ a0) = 1, a ∈ s0, ∀ a, b. # s0 = 1 ∧ a ∈ s0 ∧ b ∈ s0 → a = b, b = a0 ∨ b ∈ s0, a = a0 ∨ a ∈ s0 ⊦ a = b
Used simplifier rules: ne-01: ⊦ a ∈ s → s ≠ ∅;%Size-insert: ⊦ ¬ a ∈ s → #(s ++ a) = # s + 1;%ne-02: ⊦ a ∈ s → (s = ∅ ↔ false);%size-zero-02: ⊦ # s = 0 → s = ∅;%Size-empty: ⊦ # ∅ = 0;%In-empty: ⊦ ¬ a ∈ ∅;% ⊦ 1 = m + 1 ↔ m = 0; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used formulas: a ∈ s0