| a0 ∈ x0 ∨ a0 ∈ mklist(a, n), ∀ a, n. rmdup(x0 + mklist(a, n)) = rmdup(x0) + a ' ∨ n = 0 ∨ a ∈ x0 ⊦ rmdup(x0 + mklist(a, n)) = rmdup(a0 ' + x0) + a ', a = a0, n = 0, a ∈ x0 |
a0 ∈ x0, ∀ a, n. rmdup(x0 + mklist(a, n)) = rmdup(x0) + a ' ∨ n = 0 ∨ a ∈ x0 ⊦ n = 0, rmdup(x0 + mklist(a, n)) = rmdup(x0) + a ', a ∈ x0, a0 ∈ mklist(a, n)
Used simplifier rules: mk-elem: ⊦ a ∈ mklist(b, n) → a = b;%a: ⊦ (x + y) + z = x + y + z; from specification list%rmdup-y: ⊦ a ∈ x → rmdup(a ' + x) = rmdup(x); from specification list-dup