| 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, ∀ s0. (∀ a. a ∈ s → a ∈ s0) → #(s0 \ s) = # s0 - # s, ∀ a0. a0 ∈ s ++ a → a0 ∈ s0 ⊦ #(s0 \ s) - 1 = # s0 - # s + 1, a ∈ s
Used simplifier rules: Difference: ⊦ a ∈ s1 \ s2 ↔ a ∈ s1 ∧ ¬ a ∈ s2;% ⊦ ¬ a ∈ ∅; (s)% ⊦ s1 = s2 ↔ (∀ a. a ∈ s1 ↔ a ∈ s2); (s)%ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic% ⊦ ¬ a ∈ s → #(s ++ a) = # s + 1; (s)