0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 PisEmptyProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 PisEmptyProof (⇔)
↳14 TRUE
↳15 QDP
↳16 QDPOrderProof (⇔)
↳17 QDP
↳18 PisEmptyProof (⇔)
↳19 TRUE
↳20 QDP
↳21 QDPOrderProof (⇔)
↳22 QDP
↳23 DependencyGraphProof (⇔)
↳24 TRUE
↳25 QDP
↳26 QDPOrderProof (⇔)
↳27 QDP
↳28 PisEmptyProof (⇔)
↳29 TRUE
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
ACTIVE(f(f(a))) → MARK(c(f(g(f(a)))))
ACTIVE(f(f(a))) → C(f(g(f(a))))
ACTIVE(f(f(a))) → F(g(f(a)))
ACTIVE(f(f(a))) → G(f(a))
MARK(f(X)) → ACTIVE(f(mark(X)))
MARK(f(X)) → F(mark(X))
MARK(f(X)) → MARK(X)
MARK(a) → ACTIVE(a)
MARK(c(X)) → ACTIVE(c(X))
MARK(g(X)) → ACTIVE(g(mark(X)))
MARK(g(X)) → G(mark(X))
MARK(g(X)) → MARK(X)
F(mark(X)) → F(X)
F(active(X)) → F(X)
C(mark(X)) → C(X)
C(active(X)) → C(X)
G(mark(X)) → G(X)
G(active(X)) → G(X)
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
G(active(X)) → G(X)
G(mark(X)) → G(X)
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
G(active(X)) → G(X)
G(mark(X)) → G(X)
POL(G(x1)) = x1
POL(active(x1)) = 1 + x1
POL(mark(x1)) = 1 + x1
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
C(active(X)) → C(X)
C(mark(X)) → C(X)
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
C(active(X)) → C(X)
C(mark(X)) → C(X)
POL(C(x1)) = x1
POL(active(x1)) = 1 + x1
POL(mark(x1)) = 1 + x1
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
F(active(X)) → F(X)
F(mark(X)) → F(X)
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(active(X)) → F(X)
F(mark(X)) → F(X)
POL(F(x1)) = x1
POL(active(x1)) = 1 + x1
POL(mark(x1)) = 1 + x1
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
MARK(c(X)) → ACTIVE(c(X))
ACTIVE(f(f(a))) → MARK(c(f(g(f(a)))))
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(f(f(a))) → MARK(c(f(g(f(a)))))
POL(ACTIVE(x1)) = x1
POL(MARK(x1)) = 0
POL(a) = 1
POL(active(x1)) = 0
POL(c(x1)) = 0
POL(f(x1)) = 1 + x1
POL(g(x1)) = 0
POL(mark(x1)) = 0
c(active(X)) → c(X)
c(mark(X)) → c(X)
MARK(c(X)) → ACTIVE(c(X))
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
MARK(g(X)) → MARK(X)
MARK(f(X)) → MARK(X)
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(g(X)) → MARK(X)
MARK(f(X)) → MARK(X)
POL(MARK(x1)) = x1
POL(f(x1)) = 1 + x1
POL(g(x1)) = 1 + x1
active(f(f(a))) → mark(c(f(g(f(a)))))
mark(f(X)) → active(f(mark(X)))
mark(a) → active(a)
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)