| ∀ m. # x0 = m + 1 → x0[m] = x0.last ⊦ (a ' + x0)[# x0] = x0.last, x0 = [] |
⊦ x ≠ [] ∧ n ≠ 0 → x[n] = x.tail[n - 1]
∀ m. # x0 = m + 1 → x0[m] = x0.last ⊦ # x0 = 0, a ' + x0 = [], (a ' + x0).tail[# x0 - 1] = x0.last, x0 = []
Used simplifier rules: ⊦ # x = 0 ↔ x = []; (s)% ⊦ x + y = [] ↔ x = [] ∧ y = []; (as)% ⊦ a ' ≠ []; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: # x0, a ' + x0