| m1 < # x0, m1 < n, n < # x0, m1 + 1 < # x0, ∀ m0, n0. m0 < # x0 ∧ n0 + 1 < # x0 → (x0 -1l m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.rest[n0]) ⊦ x0 = [], n = 0, (x0 -1l m1)[n - 1] = x0[n] |
n = m + 1, m1 < # x0, m1 < n, n < # x0, m1 + 1 < # x0, ∀ m0, n0. m0 < # x0 ∧ n0 + 1 < # x0 → (x0 -1l m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.rest[n0]) ⊦ x0 = [], n = 0, (x0 -1l m1)[m] = x0[n]
Used simplifier rules: n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1; (elim) Used terms: n, m