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