| a ∈ y, a ∈ y -1l a0 → (perm(x1 + a ' + x0, y -1l a0) ↔ perm(x1 + x0, (y -1l a0) -1l a)) ⊦ a ∈ y -1l a0, a0 ∈ y ∧ perm(x1 + a ' + x0, y -1l a0) ↔ a0 ∈ y -1l a ∧ perm(x1 + x0, (y -1l a0) -1l a) |
perm(x1 + a0 ' + x0, y -1l a0), a0 ∈ y, perm(y -1l a0, x1 + a0 ' + x0) ⊦ a0 ∈ y -1l a0
Used simplifier rules: sym-01: ⊦ perm(x, y) → perm(y, x);%trans: ⊦ perm(x, y) ∧ perm(y, z) → perm(x, z);%perm-rmv-in-list: ⊦ perm(x + a ' + y, x0 + a ' + y0) ↔ perm(x + y, x0 + y0);%app: ⊦ perm(x + y, x + z) ↔ perm(y, z);%ref: ⊦ perm(x, x);%a: ⊦ (x + y) + z = x + y + z; from specification list%in-05: ⊦ ¬ a ∈ y -1l b ∧ a ∈ y → a = b; (forward) from specification list-del%in-02-01: ⊦ ¬ a ∈ x → x -1l a = x; from specification list-del