(0) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
a(b(x)) → x
a(c(x)) → c(c(x))
b(c(x)) → a(b(a(b(x))))
Q is empty.
(1) FlatCCProof (EQUIVALENT transformation)
We used flat context closure [ROOTLAB]
As Q is empty the flat context closure was sound AND complete.
(2) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
a(a(b(x))) → a(x)
b(a(b(x))) → b(x)
c(a(b(x))) → c(x)
a(a(c(x))) → a(c(c(x)))
b(a(c(x))) → b(c(c(x)))
c(a(c(x))) → c(c(c(x)))
a(b(c(x))) → a(a(b(a(b(x)))))
b(b(c(x))) → b(a(b(a(b(x)))))
c(b(c(x))) → c(a(b(a(b(x)))))
Q is empty.
(3) RootLabelingProof (EQUIVALENT transformation)
We used plain root labeling [ROOTLAB] with the following heuristic:
LabelAll: All function symbols get labeled
As Q is empty the root labeling was sound AND complete.
(4) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{b_1}(x))) → a_{b_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
c_{a_1}(a_{b_1}(b_{b_1}(x))) → c_{b_1}(x)
c_{a_1}(a_{b_1}(b_{c_1}(x))) → c_{c_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
c_{a_1}(a_{c_1}(c_{a_1}(x))) → c_{c_1}(c_{c_1}(c_{a_1}(x)))
c_{a_1}(a_{c_1}(c_{b_1}(x))) → c_{c_1}(c_{c_1}(c_{b_1}(x)))
c_{a_1}(a_{c_1}(c_{c_1}(x))) → c_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{a_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x)))))
a_{b_1}(b_{c_1}(c_{b_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x)))))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
b_{b_1}(b_{c_1}(c_{a_1}(x))) → b_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x)))))
b_{b_1}(b_{c_1}(c_{b_1}(x))) → b_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x)))))
b_{b_1}(b_{c_1}(c_{c_1}(x))) → b_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
c_{b_1}(b_{c_1}(c_{a_1}(x))) → c_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x)))))
c_{b_1}(b_{c_1}(c_{b_1}(x))) → c_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x)))))
c_{b_1}(b_{c_1}(c_{c_1}(x))) → c_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
Q is empty.
(5) QTRSRRRProof (EQUIVALENT transformation)
Used ordering:
Polynomial interpretation [POLO]:
POL(a_{a_1}(x1)) = x1
POL(a_{b_1}(x1)) = x1
POL(a_{c_1}(x1)) = x1
POL(b_{a_1}(x1)) = x1
POL(b_{b_1}(x1)) = 2 + x1
POL(b_{c_1}(x1)) = x1
POL(c_{a_1}(x1)) = 2 + x1
POL(c_{b_1}(x1)) = 3 + x1
POL(c_{c_1}(x1)) = x1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:
a_{a_1}(a_{b_1}(b_{b_1}(x))) → a_{b_1}(x)
c_{a_1}(a_{b_1}(b_{b_1}(x))) → c_{b_1}(x)
c_{a_1}(a_{b_1}(b_{c_1}(x))) → c_{c_1}(x)
c_{a_1}(a_{c_1}(c_{a_1}(x))) → c_{c_1}(c_{c_1}(c_{a_1}(x)))
c_{a_1}(a_{c_1}(c_{b_1}(x))) → c_{c_1}(c_{c_1}(c_{b_1}(x)))
c_{a_1}(a_{c_1}(c_{c_1}(x))) → c_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{a_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x)))))
a_{b_1}(b_{c_1}(c_{b_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x)))))
b_{b_1}(b_{c_1}(c_{a_1}(x))) → b_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x)))))
b_{b_1}(b_{c_1}(c_{b_1}(x))) → b_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x)))))
b_{b_1}(b_{c_1}(c_{c_1}(x))) → b_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
c_{b_1}(b_{c_1}(c_{a_1}(x))) → c_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{a_1}(x)))))
c_{b_1}(b_{c_1}(c_{b_1}(x))) → c_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{b_1}(x)))))
c_{b_1}(b_{c_1}(c_{c_1}(x))) → c_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
(6) Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
Q is empty.
(7) DependencyPairsProof (EQUIVALENT transformation)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
(8) Obligation:
Q DP problem:
The TRS P consists of the following rules:
A_{A_1}(a_{b_1}(b_{a_1}(x))) → A_{A_1}(x)
C_{A_1}(a_{b_1}(b_{a_1}(x))) → C_{A_1}(x)
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{A_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x))))
A_{B_1}(b_{c_1}(c_{c_1}(x))) → B_{A_1}(a_{b_1}(b_{c_1}(x)))
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{B_1}(b_{c_1}(x))
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(9) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 3 SCCs with 2 less nodes.
(10) Complex Obligation (AND)
(11) Obligation:
Q DP problem:
The TRS P consists of the following rules:
C_{A_1}(a_{b_1}(b_{a_1}(x))) → C_{A_1}(x)
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(12) UsableRulesProof (EQUIVALENT transformation)
We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.
(13) Obligation:
Q DP problem:
The TRS P consists of the following rules:
C_{A_1}(a_{b_1}(b_{a_1}(x))) → C_{A_1}(x)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(14) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- C_{A_1}(a_{b_1}(b_{a_1}(x))) → C_{A_1}(x)
The graph contains the following edges 1 > 1
(15) YES
(16) Obligation:
Q DP problem:
The TRS P consists of the following rules:
A_{A_1}(a_{b_1}(b_{a_1}(x))) → A_{A_1}(x)
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(17) UsableRulesProof (EQUIVALENT transformation)
We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.
(18) Obligation:
Q DP problem:
The TRS P consists of the following rules:
A_{A_1}(a_{b_1}(b_{a_1}(x))) → A_{A_1}(x)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
(19) QDPSizeChangeProof (EQUIVALENT transformation)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
- A_{A_1}(a_{b_1}(b_{a_1}(x))) → A_{A_1}(x)
The graph contains the following edges 1 > 1
(20) YES
(21) Obligation:
Q DP problem:
The TRS P consists of the following rules:
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{B_1}(b_{c_1}(x))
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x))))
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(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,JAR06].
The following pairs can be oriented strictly and are deleted.
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{B_1}(b_{c_1}(x))
A_{B_1}(b_{c_1}(c_{c_1}(x))) → A_{B_1}(b_{a_1}(a_{b_1}(b_{c_1}(x))))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:
POL( A_{B_1}(x1) ) = max{0, 2x1 - 1} |
POL( b_{c_1}(x1) ) = x1 + 1 |
POL( c_{c_1}(x1) ) = 2x1 + 1 |
POL( a_{c_1}(x1) ) = 2x1 + 2 |
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(x)))))
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
(23) Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
a_{a_1}(a_{b_1}(b_{a_1}(x))) → a_{a_1}(x)
a_{a_1}(a_{b_1}(b_{c_1}(x))) → a_{c_1}(x)
b_{a_1}(a_{b_1}(b_{a_1}(x))) → b_{a_1}(x)
b_{a_1}(a_{b_1}(b_{b_1}(x))) → b_{b_1}(x)
b_{a_1}(a_{b_1}(b_{c_1}(x))) → b_{c_1}(x)
c_{a_1}(a_{b_1}(b_{a_1}(x))) → c_{a_1}(x)
a_{a_1}(a_{c_1}(c_{a_1}(x))) → a_{c_1}(c_{c_1}(c_{a_1}(x)))
a_{a_1}(a_{c_1}(c_{b_1}(x))) → a_{c_1}(c_{c_1}(c_{b_1}(x)))
a_{a_1}(a_{c_1}(c_{c_1}(x))) → a_{c_1}(c_{c_1}(c_{c_1}(x)))
b_{a_1}(a_{c_1}(c_{a_1}(x))) → b_{c_1}(c_{c_1}(c_{a_1}(x)))
b_{a_1}(a_{c_1}(c_{b_1}(x))) → b_{c_1}(c_{c_1}(c_{b_1}(x)))
b_{a_1}(a_{c_1}(c_{c_1}(x))) → b_{c_1}(c_{c_1}(c_{c_1}(x)))
a_{b_1}(b_{c_1}(c_{c_1}(x))) → a_{a_1}(a_{b_1}(b_{a_1}(a_{b_1}(b_{c_1}(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) YES