| ∃ s0. s = s0 ++ a ∧ ¬ a ∈ s0 ⊦ # s = 2 ↔ (∃ a, b. a ≠ b ∧ s = ∅ ++ a ++ b) |
⊦ 1 = # s0 ↔ (∃ a0, b. a0 ≠ b ∧ s0 ++ a = ∅ ++ a0 ++ b), a ∈ s0
Used simplifier rules: Size-insert: ⊦ ¬ a ∈ s → #(s ++ a) = # s + 1;%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%n0 < n ⊦ (* n) = m0 + (* n0) ↔ n - n0 = m0; (s)