| ⊦ ¬ #(x ∪ y ∪ z) < #(y ∪ x ∪ z) |
# rmdup((x + y) + z) < # rmdup((y + x) + z) ⊦ (y + x) + z = []
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