| ¬ a ∈ s0 ∩ s1, # s0 + # s1 + 1 < #(s0 ∩ s1) + 1, a ∈ s0, ∀ s0. # s0 + # s1 < #(s0 ∩ s1) → #(s0 ∩ s1) = 0 ∨ s0 ∩ s1 = ∅ ⊦ s0 = ∅, #(s0 ∩ s1) + 1 = 0, # s0 = 0, a ∈ s1 |
# s0 + # s1 < #(s0 ∩ s1), a ∈ s0, ∀ s0. # s0 + # s1 < #(s0 ∩ s1) → #(s0 ∩ s1) = 0 ∨ s0 ∩ s1 = ∅ ⊦ #(s0 ∩ s1) = 0, # s0 = 0, s0 = ∅, s0 ∩ s1 = ∅, a ∈ s1
Used simplifier rules: Intersect: ⊦ a ∈ s1 ∩ s2 ↔ a ∈ s1 ∧ a ∈ s2;%int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1;%int-c: ⊦ s ∩ s0 = s0 ∩ s;%size-zero: ⊦ # s ≠ 0 → s ≠ ∅; (forward) from specification set-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%l: ⊦ m + n < m + n0 ↔ n < n0; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%oz: ⊦ m + 1 ≠ 0; from specification nat-basic2