| ⊦ sort(x + ins≤(a, y)) = ins≤(a, sort(x + y)), perm(x + ins≤(a, y), a ' + sort(x + y)), perm(x + ins≤(a, y), ins≤(a, sort(x + y))), a ∈ x + ins≤(a, y) ∧ perm(sort(x + y), (x + ins≤(a, y)) -1l a) |
Used simplifier rules: perm: ⊦ perm(sort(x), y) ↔ perm(x, y);%ref: ⊦ perm(x, x); from specification list-perm%app: ⊦ perm(x + y, x + z) ↔ perm(y, z); from specification list-perm%perm-ins: ⊦ perm((x + ins≤(a, y)) -1l a, z) ↔ perm(x + y, z); from specification olist%sym-02: ⊦ ¬ perm(x, y) → ¬ perm(y, x); (forward) from specification list-perm%a: ⊦ (x + y) + z = x + y + z; from specification list%in-04: ⊦ a ∈ ins≤(a, x); from specification olist%in-append: ⊦ a ∈ x + y ↔ ¬ ¬(a ∈ x ∨ a ∈ y); from specification list