0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPSizeChangeProof (⇔)
↳7 TRUE
↳8 QDP
↳9 QDPSizeChangeProof (⇔)
↳10 TRUE
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
active(f(g(X), Y)) → mark(f(X, f(g(X), Y)))
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(g(X)) → active(g(mark(X)))
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)
g(mark(X)) → g(X)
g(active(X)) → g(X)
ACTIVE(f(g(X), Y)) → MARK(f(X, f(g(X), Y)))
ACTIVE(f(g(X), Y)) → F(X, f(g(X), Y))
MARK(f(X1, X2)) → ACTIVE(f(mark(X1), X2))
MARK(f(X1, X2)) → F(mark(X1), X2)
MARK(f(X1, X2)) → MARK(X1)
MARK(g(X)) → ACTIVE(g(mark(X)))
MARK(g(X)) → G(mark(X))
MARK(g(X)) → MARK(X)
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)
G(mark(X)) → G(X)
G(active(X)) → G(X)
active(f(g(X), Y)) → mark(f(X, f(g(X), Y)))
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(g(X)) → active(g(mark(X)))
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)
g(mark(X)) → g(X)
g(active(X)) → g(X)
G(active(X)) → G(X)
G(mark(X)) → G(X)
active(f(g(X), Y)) → mark(f(X, f(g(X), Y)))
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(g(X)) → active(g(mark(X)))
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)
g(mark(X)) → g(X)
g(active(X)) → g(X)
Order:Homeomorphic Embedding Order
AFS:
active(x1) = active(x1)
mark(x1) = mark(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
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(g(X), Y)) → mark(f(X, f(g(X), Y)))
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(g(X)) → active(g(mark(X)))
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)
g(mark(X)) → g(X)
g(active(X)) → g(X)
Order:Homeomorphic Embedding Order
AFS:
active(x1) = active(x1)
mark(x1) = mark(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
MARK(f(X1, X2)) → ACTIVE(f(mark(X1), X2))
ACTIVE(f(g(X), Y)) → MARK(f(X, f(g(X), Y)))
MARK(f(X1, X2)) → MARK(X1)
MARK(g(X)) → ACTIVE(g(mark(X)))
MARK(g(X)) → MARK(X)
active(f(g(X), Y)) → mark(f(X, f(g(X), Y)))
mark(f(X1, X2)) → active(f(mark(X1), X2))
mark(g(X)) → active(g(mark(X)))
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)
g(mark(X)) → g(X)
g(active(X)) → g(X)
Order:Combined order from the following AFS and order.
mark(x1) = x1
g(x1) = g(x1)
active(x1) = x1
f(x1, x2) = f(x1)
Lexicographic path order with status [LPO].
Quasi-Precedence:
g1 > f1
g1: [1]
f1: [1]
AFS:
mark(x1) = x1
g(x1) = g(x1)
active(x1) = x1
f(x1, x2) = f(x1)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
mark(g(X)) → active(g(mark(X)))
mark(f(X1, X2)) → active(f(mark(X1), X2))
g(mark(X)) → g(X)
g(active(X)) → g(X)
f(X1, mark(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(g(X), Y)) → mark(f(X, f(g(X), Y)))