| # rmdup(x + y + z) = # rmdup(x + z), a ∈ y ⊦ a ∈ x, a ∈ z |
# x = # y, ¬ dups(x), ¬ dups(y), ∀ a. a ∈ x → a ∈ y ⊦ ∀ a. a ∈ y → a ∈ x
∀ a. a ∈ rmdup(x + y + z) → a ∈ rmdup(x + z), # rmdup(x + y + z) = # rmdup(x + z), a ∈ y ⊦ a ∈ x, a ∈ z
Used simplifier rules: rm-nodups: ⊦ ¬ dups(rmdup(x));%rm-in-02: ⊦ a ∈ rmdup(x) ↔ a ∈ x;%in-append: ⊦ a ∈ x + y ↔ ¬ ¬(a ∈ x ∨ a ∈ y); from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: rmdup(x + z), rmdup(x + y + z)