| ⊦ dups(x + y) ↔ dups(x) ∨ dups(y) ∨ (∃ a. a ∈ x ∧ a ∈ y) |
∀ y. dups(x0 + y) ↔ dups(x0) ∨ dups(y) ∨ (∃ a. a ∈ x0 ∧ a ∈ y) ⊦ dups((a + x0) + y) ↔ dups(a + x0) ∨ dups(y) ∨ (∃ a0. a0 ∈ a + x0 ∧ a0 ∈ y)
Used simplifier rules: e-01: ⊦ ¬ dups([]);%list freely generated by [], +;;%Nil: ⊦ [] + x = x; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%in-empty: ⊦ ¬ a ∈ []; from specification list