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