| # x = # y, ¬ dups(x), ∀ a. a ∈ x → a ∈ y ⊦ ¬ dups(y) ∧ (∀ a. a ∈ y → a ∈ x) |
# x = # y, ¬ dups(x), ∀ a. a ∈ x → a ∈ y ⊦ ¬ dups(y) ∧ (a ∈ y → a ∈ x)
| # x = # y, ¬ dups(x), ∀ a. a ∈ x → a ∈ y ⊦ ¬ dups(y) ∧ (a ∈ y → a ∈ x) |
#(a0 + x0) = # y, ¬ dups(a0 + x0), ∀ a. a ∈ a0 + x0 → a ∈ y, ∀ y, a. # x0 = # y ∧ ¬ dups(x0) ∧ (∀ a. a ∈ x0 → a ∈ y) → ¬ dups(y) ∧ (a ∈ y → a ∈ x0) ⊦ ¬ dups(y) ∧ (a ∈ y → a ∈ a0 + x0)
Used simplifier rules: e-01: ⊦ ¬ dups([]); list freely generated by [], +;; ⊦ # [] = 0; (s) ⊦ # x = 0 ↔ x = []; (s) ⊦ ¬ a ∈ []; (s)
| #(a0 + x0) = # y, ¬ dups(a0 + x0), ∀ a. a ∈ a0 + x0 → a ∈ y, ∀ y, a. # x0 = # y ∧ ¬ dups(x0) ∧ (∀ a. a ∈ x0 → a ∈ y) → ¬ dups(y) ∧ (a ∈ y → a ∈ x0) ⊦ ¬ dups(y) ∧ (a ∈ y → a ∈ a0 + x0) |
# x0 + 1 = # y, ¬ dups(x0), ¬ a0 ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 = a0 ∨ a1 ∈ x0 → a1 ∈ y ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0)
Used simplifier rules: rec: ⊦ dups(a ' + x) ↔ a ∈ x ∨ dups(x); a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ b ' + x ↔ a = b ∨ a ∈ x; (s) ⊦ a + x = a ' + x; (s) ⊦ m +1 = m + 1; (s) ⊦ #(a ' + x) = (# x)+1; (s)
| # x0 + 1 = # y, ¬ dups(x0), ¬ a0 ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 = a0 ∨ a1 ∈ x0 → a1 ∈ y ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0) |
# x0 + 1 = # y, ¬ dups(x0), ¬ a0 ∈ x0, a0 = a0 ∨ a0 ∈ x0 → a0 ∈ y, ∀ a1. a1 ∈ x0 → a1 ∈ y, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0)
Used terms: a0
| # x0 + 1 = # y, ¬ dups(x0), ¬ a0 ∈ x0, a0 = a0 ∨ a0 ∈ x0 → a0 ∈ y, ∀ a1. a1 ∈ x0 → a1 ∈ y, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0) |
# x0 + 1 = # y, a0 ∈ y, ¬ dups(x0), ¬ a0 ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0)
| # x0 + 1 = # y, a0 ∈ y, ¬ dups(x0), ¬ a0 ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0) |
⊦ a ∈ x ↔ (∃ y, z. x = y + (a + z))
# x0 + 1 = # y, ¬ dups(x0), ¬ a0 ∈ x0, ∀ a1. a1 ∈ x0 → a1 ∈ y, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∃ y0, z. y = y0 + (a0 + z) ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0)
Used terms: y, a0
| ⊦ a ∈ x ↔ (∃ y, z. x = y + (a + z)) |
| # x0 + 1 = # y, ¬ dups(x0), ¬ a0 ∈ x0, ∀ a1. a1 ∈ x0 → a1 ∈ y, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∃ y0, z. y = y0 + (a0 + z) ⊦ ¬ dups(y) ∧ (a ∈ y → a = a0 ∨ a ∈ x0) |
# x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0)
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ≠ b → (a ∈ b ' + x ↔ a ∈ x); (s) ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s) ⊦ a + x = a ' + x; (s) ⊦ a ∈ b ' + x ↔ a = b ∨ a ∈ x; (s) c: ⊦ m + n = n + m; from specification nat-basic a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic ⊦ m + n = m + n0 ↔ n = n0; (s) ⊦ m +1 = m + 1; (s) ⊦ #(a ' + x) = (# x)+1; (s) ⊦ #(x + y) = # x + # y; (s)
| # x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0) |
# x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, # x0 = #(y0 + z) ∧ (∀ a. a ∈ x0 → a ∈ y0 + z) → ¬ dups(y0 + z) ∧ (a ∈ y0 + z → a ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0)
Used terms: y0 + z, a
| # x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, # x0 = #(y0 + z) ∧ (∀ a. a ∈ x0 → a ∈ y0 + z) → ¬ dups(y0 + z) ∧ (a ∈ y0 + z → a ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0) |
# x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, (a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z) → ¬ dups(y0 + z) ∧ (a ∈ y0 ∨ a ∈ z → a ∈ x0), ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0)
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s) ⊦ #(x + y) = # x + # y; (s)
| # x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, (a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z) → ¬ dups(y0 + z) ∧ (a ∈ y0 ∨ a ∈ z → a ∈ x0), ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0) |
# x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, (a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z) → ¬ dups(y0 + z) ∧ (a ∈ y0 ∨ a ∈ z → a ∈ x0), a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0)
Used terms: a1
| # x0 = # y0 + # z, ¬ dups(x0), ¬ a0 ∈ x0, (a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z) → ¬ dups(y0 + z) ∧ (a ∈ y0 ∨ a ∈ z → a ∈ x0), a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0) |
# x0 = # y0 + # z, ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0)
| # x0 = # y0 + # z, ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ dups(y0 + a0 ' + z) ∧ (a ∈ y0 ∨ a ∈ z → a = a0 ∨ a ∈ x0) |
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ |
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ |
⊦ ¬ a ∈ x ∧ ¬ a ∈ y → (dups(x + a ' + y) ↔ dups(x + y))
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z
Used terms: z, a0, y0
| ⊦ ¬ a ∈ x ∧ ¬ a ∈ y → (dups(x + a ' + y) ↔ dups(x + y)) |
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z |
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z |
# x = # y, ¬ dups(x), ¬ dups(y), ∀ a. a ∈ x → a ∈ y ⊦ ∀ a. a ∈ y → a ∈ x
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z, # x0 = #(y0 + z) ∧ (∀ a. a ∈ x0 → a ∈ y0 + z)
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a. a ∈ y0 + z → a ∈ x0 ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z
Used terms: x0, y0 + z
| # x = # y, ¬ dups(x), ¬ dups(y), ∀ a. a ∈ x → a ∈ y ⊦ ∀ a. a ∈ y → a ∈ x |
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0) ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z, # x0 = #(y0 + z) ∧ (∀ a. a ∈ x0 → a ∈ y0 + z) |
# x0 = # y0 + # z, dups(y0 + a0 ' + z), a2 ∈ x0, ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, ¬ a2 ∈ y0, ¬ a2 ∈ z, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s) ⊦ #(x + y) = # x + # y; (s)
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), a2 ∈ x0, ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, ¬ a2 ∈ y0, ¬ a2 ∈ z, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z |
Used terms: a2
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a ∈ y0 ∨ a ∈ z → a ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a. a ∈ y0 + z → a ∈ x0 ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z |
# x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a2. a2 ∈ y0 ∨ a2 ∈ z → a2 ∈ x0 ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s)
| # x0 = # y0 + # z, dups(y0 + a0 ' + z), ¬ dups(x0), ¬ dups(y0 + z), ¬ a0 ∈ x0, a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, a ∈ y0 ∨ a ∈ z → a ∈ x0, ∀ y0, a1. # x0 = # y0 ∧ (∀ a. a ∈ x0 → a ∈ y0) → ¬ dups(y0) ∧ (a1 ∈ y0 → a1 ∈ x0), ∀ a1. a1 ∈ x0 → a1 ∈ y0 ∨ a1 ∈ z, ∀ a2. a2 ∈ y0 ∨ a2 ∈ z → a2 ∈ x0 ⊦ ¬ a0 ∈ y0 ∧ ¬ a0 ∈ z |
Used simplifier rules: f-01: ⊦ dups(x + a ' + y) ↔ a ∈ x ∨ a ∈ y ∨ dups(x + y); a: ⊦ (x + y) + z = x + y + z; from specification list Used terms: a0
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.