| x = a0 + x1, ∀ x. ∃ z, x0, y1. x = z + x0 ∧ y0 = z + y1 ∧ (x0 ≠ [] ∧ y1 ≠ [] → x0.first ≠ y1.first) ⊦ ∃ z, x0, y. x = z + x0 ∧ a ' + y0 = z + y ∧ (x0 ≠ [] ∧ y ≠ [] → x0.first ≠ y.first) |
∀ x. ∃ z, x0, y1. x = z + x0 ∧ y0 = z + y1 ∧ (x0 ≠ [] ∧ y1 ≠ [] → x0.first ≠ y1.first) ⊦ ∃ z, x, y. a0 ' + x1 = z + x ∧ a ' + y0 = z + y ∧ (x ≠ [] ∧ y ≠ [] → x.first ≠ y.first)
Used simplifier rules: c: ⊦ a + x = a ' + x;