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