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