| n < m, m ≤ # x0, n < # x0, ∀ m0, n0. m0 < # x0 ∧ n0 + 1 < # x0 → (x0 -1l m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.rest[n0]) ⊦ x0 = [], ((a ' + x0) -1l m)[n] = (a ' + x0)[n], m = 0 |
m = m1 +1, n < m, m ≤ # x0, n < # x0, ∀ m0, n0. m0 < # x0 ∧ n0 + 1 < # x0 → (x0 -1l m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.rest[n0]) ⊦ x0 = [], ((a ' + x0) -1l m)[n] = (a ' + x0)[n], m = 0
Used simplifier rules: nat freely generated by 0, +1;;