| n0 + # y ≠ 0, ∀ y0, n0, x. # y0 < # y → true → lastn(n0 + # y0, x + y0) = lastn(n0, x) + y0 ⊦ lastn((n0 + # y)-1, (x + y).butlast) + (x + y).last = lastn(n0, x) + y |
∀ y0, n0, x. # y0 < # y → true → lastn(n0 + # y0, x + y0) = lastn(n0, x) + y0 ⊦ n0 + # y = 0, lastn(n0 + # y - 1, (x + y).butlast) + (x + y).last ' = lastn(n0, x) + y
Used simplifier rules: Last: ⊦ x + a = x + a '; from specification list%pred-03: ⊦ n -1 = n - 1; from specification nat