0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 QDPOrderProof (⇔)
↳11 QDP
↳12 PisEmptyProof (⇔)
↳13 TRUE
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
ACTIVE(f(a, b, X)) → MARK(f(X, X, X))
ACTIVE(f(a, b, X)) → F(X, X, X)
ACTIVE(c) → MARK(a)
ACTIVE(c) → MARK(b)
MARK(f(X1, X2, X3)) → ACTIVE(f(X1, X2, mark(X3)))
MARK(f(X1, X2, X3)) → F(X1, X2, mark(X3))
MARK(f(X1, X2, X3)) → MARK(X3)
MARK(a) → ACTIVE(a)
MARK(b) → ACTIVE(b)
MARK(c) → ACTIVE(c)
F(mark(X1), X2, X3) → F(X1, X2, X3)
F(X1, mark(X2), X3) → F(X1, X2, X3)
F(X1, X2, mark(X3)) → F(X1, X2, X3)
F(active(X1), X2, X3) → F(X1, X2, X3)
F(X1, active(X2), X3) → F(X1, X2, X3)
F(X1, X2, active(X3)) → F(X1, X2, X3)
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
F(X1, mark(X2), X3) → F(X1, X2, X3)
F(mark(X1), X2, X3) → F(X1, X2, X3)
F(X1, X2, mark(X3)) → F(X1, X2, X3)
F(active(X1), X2, X3) → F(X1, X2, X3)
F(X1, active(X2), X3) → F(X1, X2, X3)
F(X1, X2, active(X3)) → F(X1, X2, X3)
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(X1, X2, mark(X3)) → F(X1, X2, X3)
F(X1, X2, active(X3)) → F(X1, X2, X3)
f > [mark1, active1, b] > a
c > [mark1, active1, b] > a
mark1: [1]
active1: [1]
f: []
a: []
b: []
c: []
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
F(X1, mark(X2), X3) → F(X1, X2, X3)
F(mark(X1), X2, X3) → F(X1, X2, X3)
F(active(X1), X2, X3) → F(X1, X2, X3)
F(X1, active(X2), X3) → F(X1, X2, X3)
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(mark(X1), X2, X3) → F(X1, X2, X3)
F(active(X1), X2, X3) → F(X1, X2, X3)
f > [F2, mark1, active1]
[a, b, c] > [F2, mark1, active1]
F2: [2,1]
mark1: [1]
active1: [1]
f: []
a: []
b: []
c: []
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
F(X1, mark(X2), X3) → F(X1, X2, X3)
F(X1, active(X2), X3) → F(X1, X2, X3)
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(X1, mark(X2), X3) → F(X1, X2, X3)
F(X1, active(X2), X3) → F(X1, X2, X3)
f > [mark1, active1, a, c] > b > F2
F2: [2,1]
mark1: [1]
active1: [1]
f: []
a: []
b: []
c: []
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
MARK(f(X1, X2, X3)) → ACTIVE(f(X1, X2, mark(X3)))
ACTIVE(f(a, b, X)) → MARK(f(X, X, X))
MARK(f(X1, X2, X3)) → MARK(X3)
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(f(X1, X2, X3)) → MARK(X3)
[b, c] > a > f1
f1: [1]
a: []
b: []
c: []
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)
MARK(f(X1, X2, X3)) → ACTIVE(f(X1, X2, mark(X3)))
ACTIVE(f(a, b, X)) → MARK(f(X, X, X))
active(f(a, b, X)) → mark(f(X, X, X))
active(c) → mark(a)
active(c) → mark(b)
mark(f(X1, X2, X3)) → active(f(X1, X2, mark(X3)))
mark(a) → active(a)
mark(b) → active(b)
mark(c) → active(c)
f(mark(X1), X2, X3) → f(X1, X2, X3)
f(X1, mark(X2), X3) → f(X1, X2, X3)
f(X1, X2, mark(X3)) → f(X1, X2, X3)
f(active(X1), X2, X3) → f(X1, X2, X3)
f(X1, active(X2), X3) → f(X1, X2, X3)
f(X1, X2, active(X3)) → f(X1, X2, X3)