| n ≤ # x0 + 1, ∀ n. n ≤ # x0 → butlastn(n, x0) = firstn(# x0 - n, x0) ⊦ butlastn(n, a ' + x0) = firstn(# x0 + 1 - n, a ' + x0) |
⊦ n ≠ 0 → firstn(n, a ' + x) = a ' + firstn(n -1, x)
¬ 1 + # x0 - n ≠ 0, n ≤ # x0 + 1, ∀ n. n ≤ # x0 → butlastn(n, x0) = firstn(# x0 - n, x0) ⊦ butlastn(n, a ' + x0) = firstn(# x0 + 1 - n, a ' + x0)
1 + # x0 - n ≠ 0, n ≤ # x0 + 1, ∀ n. n ≤ # x0 → butlastn(n, x0) = firstn(# x0 - n, x0) ⊦ butlastn(n, a ' + x0) = a ' + firstn((1 + # x0 - n)-1, x0)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic2 Used terms: x0, a, 1 + # x0 - n