| m0 < # x, ∀ x, y. m0 ≤ # x → firstn(m0, x + y) = firstn(m0, x) ⊦ firstn(m0, x.tail + y) = firstn(m0, x.tail), x = [] |
x = a + y0, m0 < # x, ∀ x, y. m0 ≤ # x → firstn(m0, x + y) = firstn(m0, x) ⊦ firstn(m0, y0 + y) = firstn(m0, y0), x = []
Used simplifier rules: x ≠ [] ⊦ a = x.head ∧ y = x.tail ↔ x = a + y; (elim) Used terms: x, a, y1