(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

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__ab
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__aa
a__f(X1, X2) → f(X1, X2)

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

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)

The TRS R consists of the following rules:

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__ab
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__aa
a__f(X1, X2) → f(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(4) Obligation:

Q DP problem:
The TRS P consists of the following rules:

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)

The TRS R consists of the following rules:

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__ab
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__aa
a__f(X1, X2) → f(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(5) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
A__G(x1, x2)  =  x1
a  =  a
A__F(x1, x2)  =  x1
b  =  b
A__H(x1)  =  x1
a__a  =  a__a
mark(x1)  =  x1
MARK(x1)  =  x1
h(x1)  =  h(x1)
g(x1, x2)  =  g(x1)
f(x1, x2)  =  f(x1)
a__h(x1)  =  a__h(x1)
a__g(x1, x2)  =  a__g(x1)
a__f(x1, x2)  =  a__f(x1)

Recursive Path Order [RPO].
Precedence:
[h1, g1, f1, ah1, ag1, af1] > [a, b, aa]


The following usable rules [FROCOS05] were oriented:

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__ab
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__aa
a__f(X1, X2) → f(X1, X2)

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

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)

The TRS R consists of the following rules:

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__ab
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__aa
a__f(X1, X2) → f(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

A__F(X, X) → A__H(a__a)
A__H(X) → A__G(mark(X), X)
A__G(a, X) → A__F(b, X)

The TRS R consists of the following rules:

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__ab
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__aa
a__f(X1, X2) → f(X1, X2)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.