| a ∈ x, a ∈ x0 ⊦ ∃ b, y, y0. b ∈ x ∧ x0 = y + b ' + y0 ∧ disj(x, y) |
a ∈ x0, a ∈ x ⊦ ∃ b, y, y0. b ∈ x ∧ x0 = y + b ' + y0 ∧ disj(x, y)
| a ∈ x0, a ∈ x ⊦ ∃ b, y, y0. b ∈ x ∧ x0 = y + b ' + y0 ∧ disj(x, y) |
a ∈ x, a ∈ a0 + x1, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 + x1 = y + b ' + y0 ∧ disj(x, y)
Used simplifier rules: list freely generated by [], +;; ⊦ ¬ a ∈ []; (s)
| a ∈ x, a ∈ a0 + x1, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 + x1 = y + b ' + y0 ∧ disj(x, y) |
a ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), a = a0 ∨ a ∈ x1 ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y)
Used simplifier rules: ⊦ a + x = a ' + x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ b ' + x ↔ a = b ∨ a ∈ x; (s)
| a ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), a = a0 ∨ a ∈ x1 ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y) |
a = a0, a ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), a = a0 ∨ a ∈ x1 ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y)
a ≠ a0, a ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), a = a0 ∨ a ∈ x1 ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y)
Used formulas: a = a0
| a = a0, a ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), a = a0 ∨ a ∈ x1 ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y) |
a0 ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y)
| a0 ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y) |
Used simplifier rules: e: ⊦ disj(x, []); ⊦ [] + x = x; (s) ⊦ a ' + x = a ' + y ↔ x = y; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: a0, [], x1
| a ≠ a0, a ∈ x, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), a = a0 ∨ a ∈ x1 ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y) |
a ≠ a0, a ∈ x, a ∈ x1, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y)
| a ≠ a0, a ∈ x, a ∈ x1, ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y) |
a ≠ a0, a ∈ x1, a ∈ x, a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y)
Used terms: a, x
| a ≠ a0, a ∈ x1, a ∈ x, a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)), ∀ a, x. a ∈ x1 ∧ a ∈ x → (∃ b, y, y0. b ∈ x ∧ x1 = y + b ' + y0 ∧ disj(x, y)) ⊦ ∃ b, y, y0. b ∈ x ∧ a0 ' + x1 = y + b ' + y0 ∧ disj(x, y) |
a ≠ a0, disj(y, x), disj(x, y), b ∈ x, a ∈ x, ¬ a ∈ y, ¬ b ∈ y, ∀ a1, x0. (a1 ∈ y ∨ a1 = b ∨ a1 ∈ y0) ∧ a1 ∈ x0 → (∃ b0, y1, y2. b0 ∈ x0 ∧ y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x0, y1)), a = b ∨ a ∈ y0 ⊦ ∃ b0, y1, y2. b0 ∈ x ∧ a0 ' + y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x, y1)
Used simplifier rules: in: ⊦ disj(x, y) ∧ a ∈ x → ¬ a ∈ y; sym: ⊦ disj(x, y) → disj(y, x); a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ b ' + x ↔ a = b ∨ a ∈ x; (s) ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s)
| a ≠ a0, disj(y, x), disj(x, y), b ∈ x, a ∈ x, ¬ a ∈ y, ¬ b ∈ y, ∀ a1, x0. (a1 ∈ y ∨ a1 = b ∨ a1 ∈ y0) ∧ a1 ∈ x0 → (∃ b0, y1, y2. b0 ∈ x0 ∧ y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x0, y1)), a = b ∨ a ∈ y0 ⊦ ∃ b0, y1, y2. b0 ∈ x ∧ a0 ' + y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x, y1) |
a ≠ a0, disj(x, y), disj(y, x), a ∈ x, b ∈ x, ¬ a ∈ y, ¬ b ∈ y, ∀ a1, x0. (a1 ∈ y ∨ a1 = b ∨ a1 ∈ y0) ∧ a1 ∈ x0 → (∃ b0, y1, y2. b0 ∈ x0 ∧ y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x0, y1)), a = b ∨ a ∈ y0 ⊦ ∃ b0, y1, y2. b0 ∈ x ∧ a0 ' + y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x, y1), b ∈ x ∧ a0 ' + y + b ' + y0 = (a0 ' + y) + b ' + y0 ∧ disj(x, a0 ' + y)
Used terms: b, a0 ' + y, y0
| a ≠ a0, disj(x, y), disj(y, x), a ∈ x, b ∈ x, ¬ a ∈ y, ¬ b ∈ y, ∀ a1, x0. (a1 ∈ y ∨ a1 = b ∨ a1 ∈ y0) ∧ a1 ∈ x0 → (∃ b0, y1, y2. b0 ∈ x0 ∧ y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x0, y1)), a = b ∨ a ∈ y0 ⊦ ∃ b0, y1, y2. b0 ∈ x ∧ a0 ' + y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x, y1), b ∈ x ∧ a0 ' + y + b ' + y0 = (a0 ' + y) + b ' + y0 ∧ disj(x, a0 ' + y) |
a ≠ a0, disj(y, x), disj(x, y), b ∈ x, a ∈ x, a0 ∈ x, ¬ a ∈ y, ¬ b ∈ y, ¬ a0 ∈ y, ∀ a1, x0. (a1 ∈ y ∨ a1 = b ∨ a1 ∈ y0) ∧ a1 ∈ x0 → (∃ b0, y1, y2. b0 ∈ x0 ∧ y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x0, y1)), a = b ∨ a ∈ y0 ⊦ ∃ b0, y1, y2. b0 ∈ x ∧ a0 ' + y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x, y1)
Used simplifier rules: cons: ⊦ disj(x, y) → (disj(x, a ' + y) ↔ ¬ a ∈ x); in: ⊦ disj(x, y) ∧ a ∈ x → ¬ a ∈ y; a: ⊦ (x + y) + z = x + y + z; from specification list
| a ≠ a0, disj(y, x), disj(x, y), b ∈ x, a ∈ x, a0 ∈ x, ¬ a ∈ y, ¬ b ∈ y, ¬ a0 ∈ y, ∀ a1, x0. (a1 ∈ y ∨ a1 = b ∨ a1 ∈ y0) ∧ a1 ∈ x0 → (∃ b0, y1, y2. b0 ∈ x0 ∧ y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x0, y1)), a = b ∨ a ∈ y0 ⊦ ∃ b0, y1, y2. b0 ∈ x ∧ a0 ' + y + b ' + y0 = y1 + b0 ' + y2 ∧ disj(x, y1) |
Used simplifier rules: e: ⊦ disj(x, []); ⊦ a + x = a ' + x; (s) ⊦ [] + x = x; (s) ⊦ a ' + x = a ' + y ↔ x = y; (s) a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: a0, [], y + (b + y0)
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.