| 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 ∈ a0 ' + (x0 -1l (a0 ' + x0)[m]), (a0 ' + x0)[m] = a0, m = 0 |
m ≤ # x0, ∀ m, a, b. m < # x0 → (a ∈ x0[m, b] ↔ a = b ∨ a ∈ x0 -1l x0[m]) ⊦ a ∈ x0[m - 1, b] ↔ a = b ∨ a ∈ x0 -1l (a0 ' + x0)[m], (a0 ' + x0)[m] = a0, a = a0, m = 0
Used simplifier rules: ⊦ a ' + x ≠ []; (s)% ⊦ a ∈ b ' ↔ a = b; (s)% ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s)% ⊦ n -1 = n - 1; (s)% ⊦ (a ' + x).tail = x; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ (a ' + x).head = a; (s)