0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
a__h(X) → a__g(mark(X), X)
a__g(a, X) → a__f(b, X)
a__f(X, X) → a__h(a__a)
a__a → b
mark(h(X)) → a__h(mark(X))
mark(g(X1, X2)) → a__g(mark(X1), X2)
mark(a) → a__a
mark(f(X1, X2)) → a__f(mark(X1), X2)
mark(b) → b
a__h(X) → h(X)
a__g(X1, X2) → g(X1, X2)
a__a → a
a__f(X1, X2) → f(X1, X2)
A__H(X) → A__G(mark(X), X)
A__H(X) → MARK(X)
A__G(a, X) → A__F(b, X)
A__F(X, X) → A__H(a__a)
A__F(X, X) → A__A
MARK(h(X)) → A__H(mark(X))
MARK(h(X)) → MARK(X)
MARK(g(X1, X2)) → A__G(mark(X1), X2)
MARK(g(X1, X2)) → MARK(X1)
MARK(a) → A__A
MARK(f(X1, X2)) → A__F(mark(X1), X2)
MARK(f(X1, X2)) → MARK(X1)
a__h(X) → a__g(mark(X), X)
a__g(a, X) → a__f(b, X)
a__f(X, X) → a__h(a__a)
a__a → b
mark(h(X)) → a__h(mark(X))
mark(g(X1, X2)) → a__g(mark(X1), X2)
mark(a) → a__a
mark(f(X1, X2)) → a__f(mark(X1), X2)
mark(b) → b
a__h(X) → h(X)
a__g(X1, X2) → g(X1, X2)
a__a → a
a__f(X1, X2) → f(X1, X2)
A__G(a, X) → A__F(b, X)
A__F(X, X) → A__H(a__a)
A__H(X) → A__G(mark(X), X)
A__H(X) → MARK(X)
MARK(h(X)) → A__H(mark(X))
MARK(h(X)) → MARK(X)
MARK(g(X1, X2)) → A__G(mark(X1), X2)
MARK(g(X1, X2)) → MARK(X1)
MARK(f(X1, X2)) → A__F(mark(X1), X2)
MARK(f(X1, X2)) → MARK(X1)
a__h(X) → a__g(mark(X), X)
a__g(a, X) → a__f(b, X)
a__f(X, X) → a__h(a__a)
a__a → b
mark(h(X)) → a__h(mark(X))
mark(g(X1, X2)) → a__g(mark(X1), X2)
mark(a) → a__a
mark(f(X1, X2)) → a__f(mark(X1), X2)
mark(b) → b
a__h(X) → h(X)
a__g(X1, X2) → g(X1, X2)
a__a → a
a__f(X1, X2) → f(X1, X2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A__H(X) → MARK(X)
MARK(h(X)) → A__H(mark(X))
MARK(h(X)) → MARK(X)
MARK(g(X1, X2)) → A__G(mark(X1), X2)
MARK(g(X1, X2)) → MARK(X1)
MARK(f(X1, X2)) → A__F(mark(X1), X2)
MARK(f(X1, X2)) → MARK(X1)
[h1, g1, f1, ah1, ag1, af1] > [AG1, AF1, AH1] > [a, b, aa, MARK1]
AG1: multiset
a: multiset
AF1: multiset
b: multiset
AH1: multiset
aa: multiset
MARK1: multiset
h1: multiset
g1: multiset
f1: multiset
ah1: multiset
ag1: multiset
af1: multiset
a__h(X) → a__g(mark(X), X)
a__g(a, X) → a__f(b, X)
a__f(X, X) → a__h(a__a)
a__a → b
mark(h(X)) → a__h(mark(X))
mark(g(X1, X2)) → a__g(mark(X1), X2)
mark(a) → a__a
mark(f(X1, X2)) → a__f(mark(X1), X2)
mark(b) → b
a__h(X) → h(X)
a__g(X1, X2) → g(X1, X2)
a__a → a
a__f(X1, X2) → f(X1, X2)
A__G(a, X) → A__F(b, X)
A__F(X, X) → A__H(a__a)
A__H(X) → A__G(mark(X), X)
a__h(X) → a__g(mark(X), X)
a__g(a, X) → a__f(b, X)
a__f(X, X) → a__h(a__a)
a__a → b
mark(h(X)) → a__h(mark(X))
mark(g(X1, X2)) → a__g(mark(X1), X2)
mark(a) → a__a
mark(f(X1, X2)) → a__f(mark(X1), X2)
mark(b) → b
a__h(X) → h(X)
a__g(X1, X2) → g(X1, X2)
a__a → a
a__f(X1, X2) → f(X1, X2)