(0) Obligation:

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

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)

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:

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)

The TRS R consists of the following rules:

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)

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 3 SCCs with 4 less nodes.

(4) Complex Obligation (AND)

(5) Obligation:

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

G(active(X)) → G(X)
G(mark(X)) → G(X)

The TRS R consists of the following rules:

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)

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

(6) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


G(active(X)) → G(X)
G(mark(X)) → G(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
G(x1)  =  x1
active(x1)  =  active(x1)
mark(x1)  =  mark(x1)
c  =  c
f(x1)  =  f
g(x1)  =  g

Recursive path order with status [RPO].
Precedence:
c > f > mark1 > active1
c > f > g > active1

Status:
active1: multiset
mark1: multiset
c: multiset
f: multiset
g: multiset

The following usable rules [FROCOS05] were oriented:

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)

(7) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

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)

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

(8) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(9) TRUE

(10) Obligation:

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

F(active(X)) → F(X)
F(mark(X)) → F(X)

The TRS R consists of the following rules:

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)

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

(11) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


F(active(X)) → F(X)
F(mark(X)) → F(X)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
F(x1)  =  x1
active(x1)  =  active(x1)
mark(x1)  =  mark(x1)
c  =  c
f(x1)  =  f
g(x1)  =  g

Recursive path order with status [RPO].
Precedence:
c > f > mark1 > active1
c > f > g > active1

Status:
active1: multiset
mark1: multiset
c: multiset
f: multiset
g: multiset

The following usable rules [FROCOS05] were oriented:

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)

(12) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

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)

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

(13) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(14) TRUE

(15) Obligation:

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

ACTIVE(f(g(X))) → MARK(g(X))
MARK(f(X)) → ACTIVE(f(X))
MARK(g(X)) → ACTIVE(g(X))

The TRS R consists of the following rules:

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)

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

(16) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACTIVE(f(g(X))) → MARK(g(X))
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
ACTIVE(x1)  =  x1
f(x1)  =  f(x1)
g(x1)  =  g
MARK(x1)  =  x1
active(x1)  =  active(x1)
c  =  c
mark(x1)  =  mark(x1)

Recursive path order with status [RPO].
Precedence:
c > f1 > g > active1
c > f1 > mark1 > active1

Status:
f1: multiset
g: multiset
active1: multiset
c: multiset
mark1: multiset

The following usable rules [FROCOS05] were oriented:

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)

(17) Obligation:

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

MARK(f(X)) → ACTIVE(f(X))
MARK(g(X)) → ACTIVE(g(X))

The TRS R consists of the following rules:

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)

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

(18) DependencyGraphProof (EQUIVALENT transformation)

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

(19) TRUE