| # s = 2, # s = 2 ↔ (∃ a, b. a ≠ b ∧ s = ∅ ++ a ++ b ∧ a ∈ s ∧ b ∈ s), s.min < a, s.max ∈ s, s.min ∈ s, a ∈ s ⊦ ∅ ++ a ++ s.min = s, s = ∅, s.max < a, s.max < s.min |
(∅ ++ a0 ++ b).min < a, (∅ ++ a0 ++ b).max = b ∨ (∅ ++ a0 ++ b).max = a0, (∅ ++ a0 ++ b).min = b ∨ (∅ ++ a0 ++ b).min = a0, a = b ∨ a = a0 ⊦ ∅ ++ a ++ (∅ ++ a0 ++ b).min = ∅ ++ a0 ++ b, a0 = b, (∅ ++ a0 ++ b).max < a, (∅ ++ a0 ++ b).max < (∅ ++ a0 ++ b).min
Used simplifier rules: ⊦ ∅ ≠ s ++ a; (s)% ⊦ #(∅ ++ a ++ b) = 2 ↔ a ≠ b; (s)% ⊦ a ∈ ∅ ++ b ↔ a = b; (s)% ⊦ a ∈ s ++ b ↔ a = b ∨ a ∈ s; (s)