(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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(X)) → MARK(g(h(f(X))))
ACTIVE(f(X)) → G(h(f(X)))
ACTIVE(f(X)) → H(f(X))
MARK(f(X)) → ACTIVE(f(mark(X)))
MARK(f(X)) → F(mark(X))
MARK(f(X)) → MARK(X)
MARK(g(X)) → ACTIVE(g(X))
MARK(h(X)) → ACTIVE(h(mark(X)))
MARK(h(X)) → H(mark(X))
MARK(h(X)) → MARK(X)
F(mark(X)) → F(X)
F(active(X)) → F(X)
G(mark(X)) → G(X)
G(active(X)) → G(X)
H(mark(X)) → H(X)
H(active(X)) → H(X)
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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 4 less nodes.
(4) Complex Obligation (AND)
(5) Obligation:
Q DP problem:
The TRS P consists of the following rules:
H(active(X)) → H(X)
H(mark(X)) → H(X)
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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.
H(active(X)) → H(X)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
H(
x0,
x1) =
H(
x0,
x1)
Tags:
H 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.
H(
x1) =
H
active(
x1) =
active(
x1)
mark(
x1) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
active1 > H
Status:
H: multiset
active1: multiset
The following usable rules [FROCOS05] were oriented:
none
(7) Obligation:
Q DP problem:
The TRS P consists of the following rules:
H(mark(X)) → H(X)
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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.
H(mark(X)) → H(X)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
H(
x0,
x1) =
H(
x0,
x1)
Tags:
H 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.
H(
x1) =
H
mark(
x1) =
mark(
x1)
Recursive path order with status [RPO].
Quasi-Precedence:
[H, mark1]
Status:
H: 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(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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:
G(active(X)) → G(X)
G(mark(X)) → G(X)
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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.
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
(14) 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(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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.
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
(16) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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:
F(active(X)) → F(X)
F(mark(X)) → F(X)
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(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.
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
(21) 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(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(X)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(22) 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
(23) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(X)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(24) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(25) TRUE
(26) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MARK(f(X)) → ACTIVE(f(mark(X)))
ACTIVE(f(X)) → MARK(g(h(f(X))))
MARK(f(X)) → MARK(X)
MARK(g(X)) → ACTIVE(g(X))
MARK(h(X)) → ACTIVE(h(mark(X)))
MARK(h(X)) → MARK(X)
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(X)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(27) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
MARK(h(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)
ACTIVE(
x0,
x1) =
ACTIVE(
x1)
Tags:
MARK has argument tags [2,0] and root tag 1
ACTIVE has argument tags [0,2] 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) =
x1
f(
x1) =
x1
ACTIVE(
x1) =
x1
mark(
x1) =
x1
g(
x1) =
g
h(
x1) =
h(
x1)
active(
x1) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
[g, h1]
Status:
g: []
h1: [1]
The following usable rules [FROCOS05] were oriented:
mark(f(X)) → active(f(mark(X)))
active(f(X)) → mark(g(h(f(X))))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(active(X)) → f(X)
f(mark(X)) → f(X)
h(active(X)) → h(X)
h(mark(X)) → h(X)
g(active(X)) → g(X)
g(mark(X)) → g(X)
(28) Obligation:
Q DP problem:
The TRS P consists of the following rules:
MARK(f(X)) → ACTIVE(f(mark(X)))
ACTIVE(f(X)) → MARK(g(h(f(X))))
MARK(f(X)) → MARK(X)
MARK(g(X)) → ACTIVE(g(X))
MARK(h(X)) → ACTIVE(h(mark(X)))
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(X)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(29) 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(mark(X)))
ACTIVE(f(X)) → MARK(g(h(f(X))))
MARK(f(X)) → MARK(X)
MARK(g(X)) → ACTIVE(g(X))
MARK(h(X)) → ACTIVE(h(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)
ACTIVE(
x0,
x1) =
ACTIVE(
x0,
x1)
Tags:
MARK has argument tags [2,1] and root tag 0
ACTIVE has argument tags [0,0] 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
f(
x1) =
f(
x1)
ACTIVE(
x1) =
x1
mark(
x1) =
x1
g(
x1) =
g
h(
x1) =
h(
x1)
active(
x1) =
x1
Recursive path order with status [RPO].
Quasi-Precedence:
[MARK, f1] > g > h1
Status:
MARK: multiset
f1: multiset
g: []
h1: [1]
The following usable rules [FROCOS05] were oriented:
mark(f(X)) → active(f(mark(X)))
active(f(X)) → mark(g(h(f(X))))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(active(X)) → f(X)
f(mark(X)) → f(X)
h(active(X)) → h(X)
h(mark(X)) → h(X)
g(active(X)) → g(X)
g(mark(X)) → g(X)
(30) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
active(f(X)) → mark(g(h(f(X))))
mark(f(X)) → active(f(mark(X)))
mark(g(X)) → active(g(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
h(mark(X)) → h(X)
h(active(X)) → h(X)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(31) PisEmptyProof (EQUIVALENT transformation)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
(32) TRUE