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