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 DependencyGraphProof (⇔)
↳19 TRUE
active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
ACTIVE(c) → MARK(f(g(c)))
ACTIVE(c) → F(g(c))
ACTIVE(c) → G(c)
ACTIVE(f(g(X))) → MARK(g(X))
MARK(c) → ACTIVE(c)
MARK(f(X)) → ACTIVE(f(X))
MARK(g(X)) → ACTIVE(g(X))
F(mark(X)) → F(X)
F(active(X)) → F(X)
G(mark(X)) → G(X)
G(active(X)) → G(X)
active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
G(active(X)) → G(X)
G(mark(X)) → G(X)
active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(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(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
F(active(X)) → F(X)
F(mark(X)) → F(X)
active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(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(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
ACTIVE(f(g(X))) → MARK(g(X))
MARK(f(X)) → ACTIVE(f(X))
MARK(g(X)) → ACTIVE(g(X))
active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(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(g(X))) → MARK(g(X))
POL(ACTIVE(x1)) = 1 + x1
POL(MARK(x1)) = 1 + x1
POL(active(x1)) = 0
POL(f(x1)) = 1
POL(g(x1)) = 0
POL(mark(x1)) = 0
g(active(X)) → g(X)
g(mark(X)) → g(X)
f(active(X)) → f(X)
f(mark(X)) → f(X)
MARK(f(X)) → ACTIVE(f(X))
MARK(g(X)) → ACTIVE(g(X))
active(c) → mark(f(g(c)))
active(f(g(X))) → mark(g(X))
mark(c) → active(c)
mark(f(X)) → active(f(X))
mark(g(X)) → active(g(X))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)