| a ∈ y -1l a0, a ∈ y, a ∈ y -1l a0 → (perm(x1 + a ' + x0, y -1l a0) ↔ perm(x1 + x0, (y -1l a0) -1l a)) ⊦ a0 ∈ y ∧ perm(x1 + a ' + x0, y -1l a0) ↔ a0 ∈ y -1l a ∧ perm(x1 + x0, (y -1l a0) -1l a) |
perm(x1 + a ' + x0, y -1l a0), perm(x1 + x0, (y -1l a0) -1l a), a ∈ y, a ∈ y -1l a0, perm(y -1l a0, x1 + a ' + x0), perm((y -1l a0) -1l a, x1 + x0) ⊦ a0 ∈ y ↔ a0 ∈ y -1l a
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);%del-02: ⊦ perm(x -1l a, y -1l a) ∧ a ∈ x ∧ a ∈ y → perm(x, y);%a: ⊦ (x + y) + z = x + y + z; from specification list%in-01-01: ⊦ a ∈ x -1l b → a ∈ x; (forward) from specification list-del