| ∀ y. perm(x0, rmdup(rev(y))) ↔ perm(x0, rmdup(y)) ⊦ perm(a + x0, rmdup(rev(y))) ↔ perm(a + x0, rmdup(y)) |
a ∈ y, ∀ y. perm(x0, rmdup(rev(y))) ↔ perm(x0, rmdup(y)) ⊦ perm(x0, rmdup(rev(y)) -1l a) ↔ perm(x0, rmdup(y) -1l a)
Used simplifier rules: del-01: ⊦ perm(a ' + x, y) ↔ ¬ ¬(a ∈ y ∧ perm(x, y -1l a));%a: ⊦ (x + y) + z = x + y + z; from specification list%rev-in: ⊦ a ∈ rev(x) ↔ a ∈ x; from specification list-last%rm-in-02: ⊦ a ∈ rmdup(x) ↔ a ∈ x; from specification list-dup%c: ⊦ a + x = a ' + x; from specification list