| ⊦ ¬ #((x ∪ y) ∪ z) < #(x ∪ y) |
# rmdup((x + y) + z) < # rmdup(x + y) ⊦ x + y = []
Used simplifier rules: union: ⊦ x ∪ y = rmdup(x + y);%assoc: ⊦ (x ∪ y) ∪ z = x ∪ y ∪ z;%rm-empty: ⊦ rmdup(x) = [] ↔ x = []; from specification list-dup%l: ⊦ # x = 0 ↔ x = []; from specification list-data%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%a: ⊦ (x + y) + z = x + y + z; from specification list%rm-rm-01: ⊦ rmdup(rmdup(x) + y) = rmdup(x + y); from specification list-dup