| n < m, n < # x, m ≤ # x ⊦ firstn(m, x)[n] = x[n], x = [] |
n < #(a + x0), n < m, m ≤ #(a + x0), ∀ n, m. n < m ∧ n < # x0 ∧ m ≤ # x0 → firstn(m, x0)[n] = x0[n] ∨ x0 = [] ⊦ a + x0 = [], firstn(m, a + x0)[n] = (a + x0)[n]
Used simplifier rules: list freely generated by [], +;;