| ¬ n < # a ', n < # x0, m1 < # x0, n ≤ m1, ∀ m0, n0. m0 < # x0 ∧ n0 + 1 < # x0 → (x0 -1l m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.rest[n0]) ⊦ x0 = [], (x0 -1l m1)[n - # a '] = (a ' + x0)[n] |
n < # x0, m1 < # x0, n ≤ m1, ∀ m0, n0. m0 < # x0 ∧ n0 + 1 < # x0 → (x0 -1l m0)[n0] = (n0 < m0 ⊃ x0[n0];x0.rest[n0]) ⊦ x0 = [], (x0 -1l m1)[n - 1] = (a ' + x0)[n], n = 0
Used simplifier rules: one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%len-02: ⊦ # a ' = 0 +1; from specification list