| n0 < # x, ∀ x. n0 ≤ # x → firstn(n0, x) + restn(n0, x) = x ⊦ (x.first ' + firstn(n0, x.rest)) + restn(n0, x.rest) = x, x = [] |
x = a + y, n0 < # x, ∀ x. n0 ≤ # x → firstn(n0, x) + restn(n0, x) = x ⊦ (a ' + firstn(n0, y)) + restn(n0, y) = x, x = []
Used simplifier rules: x ≠ [] ⊦ a = x.first ∧ y = x.rest ↔ x = a + y; (elim) Used terms: x, a, y