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