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