(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(
x1)
Tags:
G has argument tags [1,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
Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial
Status:
G: []
active1: [1]
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(
x1)
Tags:
G has argument tags [1,1] 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)
Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial
Status:
G: []
mark1: [1]
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(
x1)
Tags:
F has argument tags [1,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
Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial
Status:
F: []
active1: [1]
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(
x1)
Tags:
F has argument tags [1,1] 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)
Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial
Status:
F: []
mark1: [1]
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,
x1)
Tags:
MARK has argument tags [2,0] and root tag 1
ACTIVE has argument tags [2,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
f(
x1) =
f(
x1)
ACTIVE(
x1) =
ACTIVE
a =
a
g(
x1) =
g
active(
x1) =
active(
x1)
mark(
x1) =
x1
Lexicographic path order with status [LPO].
Quasi-Precedence:
[MARK, ACTIVE, a, g] > [f1, active1]
Status:
MARK: []
f1: [1]
ACTIVE: []
a: []
g: []
active1: [1]
The following usable rules [FROCOS05] were oriented:
none
(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(
x1)
Tags:
MARK has argument tags [1,1] 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)
Lexicographic path order with status [LPO].
Quasi-Precedence:
trivial
Status:
MARK: []
g1: [1]
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