| 1 < # s0 → (∃ a, b. a ≠ b ∧ a ∈ s0 ∧ b ∈ s0), 1 < #(s0 ++ a) ⊦ ∃ a0, b. a0 ≠ b ∧ a0 ∈ s0 ++ a ∧ b ∈ s0 ++ a |
# s0 ≠ 0 ∧ # s0 ≠ 1 → a0 ≠ b ∧ a0 ∈ s0 ∧ b ∈ s0 ⊦ #(s0 ++ a) = 0, #(s0 ++ a) = 1, ∃ a1, b0. a1 ≠ b0 ∧ (a1 = a ∨ a1 ∈ s0) ∧ (b0 = a ∨ b0 ∈ s0)
Used simplifier rules: rax: ⊦ a ∈ s ++ b ↔ ¬ ¬(a = b ∨ a ∈ s);%size-zero: ⊦ # s ≠ 0 → s ≠ ∅;%ne: ⊦ ∅ ≠ s ++ a;%one: ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1); from specification nat-basic1