| ∀ x, a. perm(x, mklist(a, n0)) ↔ x = mklist(a, n0) ⊦ perm(x, mklist(a, n0 +1)) ↔ x = mklist(a, n0 +1) |
perm(x, mklist(a, n0 + 1)), perm(mklist(a, n0 + 1), x), ∀ x0, a0. perm(x0, mklist(a0, n0)) → x0 = mklist(a0, n0) ⊦ x = mklist(a, n0 + 1)
Used simplifier rules: ref: ⊦ perm(x, x);%sym-01: ⊦ perm(x, y) → perm(y, x);%trans: ⊦ perm(x, y) ∧ perm(y, z) → perm(x, z);%succ: ⊦ m +1 = m + 1; from specification nat-basic2