| n0 < # x, a ∈ lastn(n0 + 1, x), ∀ a, x. a ∈ lastn(n0, x) ∧ n0 ≤ # x → a ∈ x ⊦ x = [], a ∈ x |
⊦ n ≠ 0 → lastn(n, x) = lastn(n -1, x.butlast) + x.last
n0 < # x, a ∈ lastn((n0 + 1)-1, x.butlast) + x.last, ∀ a, x. a ∈ lastn(n0, x) ∧ n0 ≤ # x → a ∈ x ⊦ n0 + 1 = 0, x = [], a ∈ x
Used simplifier rules: ⊦ m + 1 ≠ 0; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: x, n0 + 1