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