| #(s0 ++ a0) = 1, ∀ b, a. # s0 = 1 ∧ b ∈ s0 ∧ a ∈ s0 → a = b, b = a0 ∨ b ∈ s0, a = a0 ∨ a ∈ s0 ⊦ a = b |
a ∈ s0, #(s0 ++ a0) = 1, ∀ b, a. # s0 = 1 ∧ b ∈ s0 ∧ a ∈ 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 ∈ ∅;%one-03: ⊦ 1 = m + 1 ↔ m = 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 Used formulas: a ∈ s0