| m + 1 < # x0, m1 + 1 < # x0, m1 < # x0, m1 ≤ m, ∀ n0, m0. n0 + 1 < # x0 ∧ m0 < # x0 → (x0 -p m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.tail[n0]) ⊦ (x0 -p m1)[m] = x0.tail[m], x0 = [] |
x0 = a + y, m1 < # x0, m1 + 1 < # x0, m + 1 < # x0, m1 ≤ m, ∀ n0, m0. n0 + 1 < # x0 ∧ m0 < # x0 → (x0 -p m0)[n0] = (n0 < m0 ⊃ x0[n0];y[n0]) ⊦ (x0 -p m1)[m] = y[m], x0 = []
Used simplifier rules: x ≠ [] ⊦ a = x.head ∧ y = x.tail ↔ x = a + y; (elim) Used terms: x0, a, y