| # rmdup(x0) = m0 + 1 ∧ # rmdup(x0) ≠ 0, # rmdup(a0 ' + x0) = m + 1, ∀ a. a ∈ x0 → # rmdup(x0 -l a) = m0 ⊦ # rmdup(x0 -l a0) = m |
# rmdup(x0) = m0 + 1, # rmdup(a0 ' + x0) = m + 1, ∀ a. a ∈ x0 → # rmdup(x0 -l a) = m0 ⊦ # rmdup(x0 -l a0) = m, x0 = []
Used simplifier rules: rm-empty: ⊦ rmdup(x) = [] ↔ x = []; from specification list-dup%l: ⊦ # x = 0 ↔ x = []; from specification list-data