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