| ⊦ ¬ a ∈ x → filter(rmdup(x), y -1l a) = filter(rmdup(x), y) |
filter(rmdup(x), y -1l a) ≠ filter(rmdup(x), y), ¬ a ∈ x ⊦
| filter(rmdup(x), y -1l a) ≠ filter(rmdup(x), y), ¬ a ∈ x ⊦ |
filter(rmdup(x), y -1l a) ≠ filter(rmdup(x), y), ¬ a ∈ x ⊦
| filter(rmdup(x), y -1l a) ≠ filter(rmdup(x), y), ¬ a ∈ x ⊦ |
filter(rmdup(a0 + x0), y -1l a) ≠ filter(rmdup(a0 + x0), y), ¬ a ∈ a0 + x0, ∀ y, a. ¬(filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y) ∧ ¬ a ∈ x0) ⊦
Used simplifier rules: filt-e: ⊦ filter([], y) = []; list freely generated by [], +;; ⊦ rmdup([]) = []; (s)
| filter(rmdup(a0 + x0), y -1l a) ≠ filter(rmdup(a0 + x0), y), ¬ a ∈ a0 + x0, ∀ y, a. ¬(filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y) ∧ ¬ a ∈ x0) ⊦ |
a ≠ a0, filter(rmdup(a0 ' + x0), y -1l a) ≠ filter(rmdup(a0 ' + x0), y), ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ∈ b ' + x ↔ ¬(a ≠ b ∧ ¬ a ∈ x); (ss) ⊦ a + x = a ' + x; (s)
| a ≠ a0, filter(rmdup(a0 ' + x0), y -1l a) ≠ filter(rmdup(a0 ' + x0), y), ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
⊦ rmdup(a ' + x) = (a ∈ x ⊃ rmdup(x);a ' + rmdup(x))
a ≠ a0, filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y -1l a) ≠ filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y), ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
Used terms: x0, a0
| ⊦ rmdup(a ' + x) = (a ∈ x ⊃ rmdup(x);a ' + rmdup(x)) |
| a ≠ a0, filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y -1l a) ≠ filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y), ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
a ≠ a0, filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y -1l a) ≠ filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y), a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
a ≠ a0, filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y -1l a) ≠ filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y), ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
Used formulas: a0 ∈ x0
| a ≠ a0, filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y -1l a) ≠ filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y), a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
a ≠ a0, filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y), a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
| a ≠ a0, filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y), a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
Used terms: y, a
| a ≠ a0, filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y -1l a) ≠ filter((a0 ∈ x0 ⊃ rmdup(x0);a0 ' + rmdup(x0)), y), ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
a ≠ a0, filter(a0 ' + rmdup(x0), y -1l a) ≠ filter(a0 ' + rmdup(x0), y), ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
| a ≠ a0, filter(a0 ' + rmdup(x0), y -1l a) ≠ filter(a0 ' + rmdup(x0), y), ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
a ≠ a0, filter(a0 ' + rmdup(x0), y -1l a) ≠ filter(a0 ' + rmdup(x0), y), a0 ∈ y -1l a, ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
a ≠ a0, filter(a0 ' + rmdup(x0), y -1l a) ≠ filter(a0 ' + rmdup(x0), y), ¬ a0 ∈ y -1l a, ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
Used formulas: a0 ∈ y -1l a
| a ≠ a0, filter(a0 ' + rmdup(x0), y -1l a) ≠ filter(a0 ' + rmdup(x0), y), a0 ∈ y -1l a, ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
a ≠ a0, filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y), a0 ∈ y, ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
Used simplifier rules: filt-y: ⊦ a ∈ y → filter(a ' + x, y) = a ' + filter(x, y); a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + y = x + z ↔ y = z; (s) ⊦ a ≠ b → (a ∈ x -1l b ↔ a ∈ x); (s)
| a ≠ a0, filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y), a0 ∈ y, ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
Used terms: y, a
| a ≠ a0, filter(a0 ' + rmdup(x0), y -1l a) ≠ filter(a0 ' + rmdup(x0), y), ¬ a0 ∈ y -1l a, ¬ a0 ∈ x0, ¬ a ∈ x0, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
a ≠ a0, filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y), ¬ a0 ∈ x0, ¬ a ∈ x0, ¬ a0 ∈ y, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦
Used simplifier rules: filt-n: ⊦ ¬ a ∈ y → filter(a ' + x, y) = filter(x, y); a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ a ≠ b → (a ∈ x -1l b ↔ a ∈ x); (s)
| a ≠ a0, filter(rmdup(x0), y -1l a) ≠ filter(rmdup(x0), y), ¬ a0 ∈ x0, ¬ a ∈ x0, ¬ a0 ∈ y, ∀ y0, a1. filter(rmdup(x0), y0 -1l a1) = filter(rmdup(x0), y0) ∨ a1 ∈ x0 ⊦ |
Used terms: y, a
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.