| x -1l a = mklist(a, n0), a ∈ x ⊦ x.head = a, x = a ' + mklist(a, n0), x = [] |
Used simplifier rules: ⊦ a + x = a ' + x; (s)% ⊦ a ≠ b → (b ' + x) -1l a = b ' + (x -1l a); (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a ' + x ≠ []; (s)% ⊦ a ≠ b → (a ∈ b ' + x ↔ a ∈ x); (s)%in-14: ⊦ a ' + x = y → a ∈ y; (forward) from specification list%mk-elem: ⊦ a ∈ mklist(b, n) → a = b; (forward) from specification list-last%x ≠ [] ⊦ a = x.head ∧ y = x.tail ↔ x = a + y; (elim) Used terms: x, a0, y