| z + a ' ≠ [], a0 = (z + a ').first ∧ x0 + a ' + y = (z + a ').rest + y0, a0 ∈ z, ∀ a, y, z, y0. x0 + a ' + y = z + a ' + y0 → a ∈ y ∨ a ∈ x0 ∨ y = y0 ∧ x0 = z ⊦ a = a0, a ∈ x0, a ∈ y, y = y0 ∧ a0 ' + x0 = z |
x0 + a ' + y = (z + a ').rest + y0, (z + a ').first ∈ z, ∀ a, y, z, y0. x0 + a ' + y = z + a ' + y0 → a ∈ y ∨ a ∈ x0 ∨ y = y0 ∧ x0 = z ⊦ a = z.first, a ∈ x0, a ∈ y, y = y0 ∧ z.first ' + x0 = z
Used simplifier rules: first-app: ⊦ a ∈ x → (x + y).first = x.first;%a: ⊦ (x + y) + z = x + y + z;%e-02: ⊦ x + a ' ≠ [];