(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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(f(f(a))) → MARK(f(g(f(a))))
ACTIVE(f(f(a))) → F(g(f(a)))
ACTIVE(f(f(a))) → G(f(a))
MARK(f(X)) → ACTIVE(f(X))
MARK(a) → ACTIVE(a)
MARK(g(X)) → ACTIVE(g(mark(X)))
MARK(g(X)) → G(mark(X))
MARK(g(X)) → MARK(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(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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 4 SCCs with 5 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(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
G(
x0,
x1) =
G(
x0,
x1)
Tags:
G has argument tags [0,0] and root tag 0
Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
G(
x1) =
G
active(
x1) =
active(
x1)
mark(
x1) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
active1 > G
Status:
G: multiset
active1: multiset
The following usable rules [FROCOS05] were oriented:
none
(7) Obligation:
Q DP problem:
The TRS P consists of the following rules:
G(mark(X)) → G(X)
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
G(mark(X)) → G(X)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
G(
x0,
x1) =
G(
x0,
x1)
Tags:
G has argument tags [0,0] and root tag 0
Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
G(
x1) =
G
mark(
x1) =
mark(
x1)
Recursive path order with status [RPO].
Quasi-Precedence:
[G, mark1]
Status:
G: multiset
mark1: multiset
The following usable rules [FROCOS05] were oriented:
none
(9) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(10) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(11) TRUE
(12) 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(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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) 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)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
F(
x0,
x1) =
F(
x0,
x1)
Tags:
F has argument tags [0,0] and root tag 0
Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
F(
x1) =
F
active(
x1) =
active(
x1)
mark(
x1) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
active1 > F
Status:
F: multiset
active1: multiset
The following usable rules [FROCOS05] were oriented:
none
(14) Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(mark(X)) → F(X)
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(15) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
F(mark(X)) → F(X)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
F(
x0,
x1) =
F(
x0,
x1)
Tags:
F has argument tags [0,0] and root tag 0
Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
F(
x1) =
F
mark(
x1) =
mark(
x1)
Recursive path order with status [RPO].
Quasi-Precedence:
[F, mark1]
Status:
F: multiset
mark1: multiset
The following usable rules [FROCOS05] were oriented:
none
(16) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(17) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(18) TRUE
(19) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MARK(f(X)) → ACTIVE(f(X))
ACTIVE(f(f(a))) → MARK(f(g(f(a))))
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(20) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
MARK(f(X)) → ACTIVE(f(X))
ACTIVE(f(f(a))) → MARK(f(g(f(a))))
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
MARK(
x0,
x1) =
MARK(
x0,
x1)
ACTIVE(
x0,
x1) =
ACTIVE(
x0)
Tags:
MARK has argument tags [0,2] and root tag 0
ACTIVE has argument tags [0,3] and root tag 1
Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
MARK(
x1) =
MARK(
x1)
f(
x1) =
f(
x1)
ACTIVE(
x1) =
x1
a =
a
g(
x1) =
g
active(
x1) =
active(
x1)
mark(
x1) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
active1 > [MARK1, f1] > [a, g]
Status:
MARK1: multiset
f1: multiset
a: multiset
g: []
active1: multiset
The following usable rules [FROCOS05] were oriented:
f(active(X)) → f(X)
f(mark(X)) → f(X)
(21) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(22) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(23) TRUE
(24) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MARK(g(X)) → MARK(X)
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(25) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
MARK(g(X)) → MARK(X)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
MARK(
x0,
x1) =
MARK(
x0,
x1)
Tags:
MARK has argument tags [0,0] and root tag 0
Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
MARK(
x1) =
MARK
g(
x1) =
g(
x1)
Recursive path order with status [RPO].
Quasi-Precedence:
[MARK, g1]
Status:
MARK: multiset
g1: multiset
The following usable rules [FROCOS05] were oriented:
none
(26) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(f(a))) → mark(f(g(f(a))))
mark(f(X)) → active(f(X))
mark(a) → active(a)
mark(g(X)) → active(g(mark(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.
(27) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(28) TRUE