| ⊦ dups(x + y) ↔ dups(x) ∨ dups(y) ∨ filter(x, y) ≠ [] |
∀ y. dups(x0 + y) ↔ dups(x0) ∨ dups(y) ∨ filter(x0, y) ≠ [] ⊦ dups((a + x0) + y) ↔ dups(a + x0) ∨ dups(y) ∨ filter(a + x0, y) ≠ []
Used simplifier rules: filt-e: ⊦ filter([], y) = [];%list freely generated by [], +;;%Nil: ⊦ [] + x = x; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%e-01: ⊦ ¬ dups([]); from specification list-dup