| ¬ a ∈ s, # s0 + #(s ++ a) < #((s ∪ s0) ++ a), ∀ s0. # s0 + # s < #(s0 ∪ s) → #(s0 ∪ s) = 0 ∨ s0 ∪ s = ∅ ⊦ #((s ∪ s0) ++ a) = 0 |
# s0 + # s + 1 < #((s ∪ s0) ++ a), ∀ s0. # s0 + # s < #(s0 ∪ s) → #(s0 ∪ s) = 0 ∨ s0 ∪ s = ∅ ⊦ #((s ∪ s0) ++ a) = 0, a ∈ s
Used simplifier rules: a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%Size-insert: ⊦ ¬ a ∈ s → #(s ++ a) = # s + 1; from specification set-basic