| a ∈ s0 \ s, a ∈ s0 \ s, ∀ s0. (∀ a. a ∈ s → a ∈ s0) → #(s0 \ s) = # s0 - # s, ∀ a0. a0 ∈ s ++ a → a0 ∈ s0 ⊦ #(s0 \ s) - 1 = # s0 - #(s ++ a) |
a ∈ s0, a0 ∈ s0, ∀ a0. a0 ∈ s ++ a → a0 ∈ s0, ∀ s0. (∀ a. a ∈ s → a ∈ s0) → #(s0 \ s) = # s0 - # s ⊦ #(s0 \ s) - 1 = # s0 - # s + 1, a ∈ s
Used simplifier rules: Difference: ⊦ a ∈ s1 \ s2 ↔ a ∈ s1 ∧ ¬ a ∈ s2;%In-empty: ⊦ ¬ a ∈ ∅; from specification set-basic%Extension: ⊦ s1 = s2 ↔ (∀ a. a ∈ s1 ↔ a ∈ s2); from specification set-basic%ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic%Size-insert: ⊦ ¬ a ∈ s → #(s ++ a) = # s + 1; from specification set-basic