| x0 + c ' + a ' ≠ [], a0 = (x0 + c ' + a ').first ∧ x1 + a ' + b ' + y + c ' + z = (x0 + c ' + a ').rest + z0, a0 ∈ x0, ∀ a, b, y, c, z, x0, z0. x1 + a ' + b ' + y + c ' + z = x0 + c ' + a ' + z0 → a = b ∨ a = c ∨ a ∈ y ∨ a ∈ x1 ∨ a ∈ z ∨ c ∈ x1 ∨ c ∈ z ∨ dups(x1 + z) ⊦ c = a0, a = a0, a = c, a = b, dups(x1 + z), a0 ∈ z, a0 ∈ x1, c ∈ z, c ∈ x1, a ∈ z, a ∈ x1, a ∈ y |
x1 + a ' + b ' + y + c ' + z = (x0 + c ' + a ').rest + z0, (x0 + c ').first ∈ x0, ∀ a, b, y, c, z, x0, z0. x1 + a ' + b ' + y + c ' + z = x0 + c ' + a ' + z0 → a = b ∨ a = c ∨ a ∈ y ∨ a ∈ x1 ∨ a ∈ z ∨ c ∈ x1 ∨ c ∈ z ∨ dups(x1 + z) ⊦ a = c, a = b, c = x0.first, a = x0.first, c ∈ z, c ∈ x1, a ∈ z, a ∈ x1, a ∈ y, dups(x1 + z), x0.first ∈ z, x0.first ∈ x1
Used simplifier rules: first-02: ⊦ (x + a ' + y).first = (x + a ').first; from specification list%e-02: ⊦ x + a ' ≠ []; from specification list%a: ⊦ (x + y) + z = x + y + z; from specification list%first-app: ⊦ a ∈ x → (x + y).first = x.first; from specification list