Term Rewriting System R:
[x]
f(a, f(b, x)) -> f(b, f(a, x))
f(b, f(c, x)) -> f(c, f(b, x))
f(c, f(a, x)) -> f(a, f(c, x))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

F(a, f(b, x)) -> F(b, f(a, x))
F(a, f(b, x)) -> F(a, x)
F(b, f(c, x)) -> F(c, f(b, x))
F(b, f(c, x)) -> F(b, x)
F(c, f(a, x)) -> F(a, f(c, x))
F(c, f(a, x)) -> F(c, x)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Modular Removal of Rules


Dependency Pairs:

F(b, f(c, x)) -> F(b, x)
F(c, f(a, x)) -> F(c, x)
F(a, f(b, x)) -> F(a, x)
F(c, f(a, x)) -> F(a, f(c, x))
F(b, f(c, x)) -> F(c, f(b, x))
F(a, f(b, x)) -> F(b, f(a, x))


Rules:


f(a, f(b, x)) -> f(b, f(a, x))
f(b, f(c, x)) -> f(c, f(b, x))
f(c, f(a, x)) -> f(a, f(c, x))





The original DP problem is in applicative form. Its DPs and usable rules are the following.

F(b, f(c, x)) -> F(b, x)
F(c, f(a, x)) -> F(c, x)
F(a, f(b, x)) -> F(a, x)
F(c, f(a, x)) -> F(a, f(c, x))
F(b, f(c, x)) -> F(c, f(b, x))
F(a, f(b, x)) -> F(b, f(a, x))


f(c, f(a, x)) -> f(a, f(c, x))
f(b, f(c, x)) -> f(c, f(b, x))
f(a, f(b, x)) -> f(b, f(a, x))


It is proper and hence, it can be A-transformed which results in the DP problem

B(c(x)) -> B(x)
C(a(x)) -> C(x)
A(b(x)) -> A(x)
C(a(x)) -> A(c(x))
B(c(x)) -> C(b(x))
A(b(x)) -> B(a(x))


c(a(x)) -> a(c(x))
a(b(x)) -> b(a(x))
b(c(x)) -> c(b(x))


To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(c(x1))=  x1  
  POL(C(x1))=  x1  
  POL(B(x1))=  x1  
  POL(b(x1))=  x1  
  POL(a(x1))=  x1  
  POL(A(x1))=  x1  

We have the following set D of usable symbols: {c, C, B, b, a, A}
No Dependency Pairs can be deleted.
No Rules can be deleted.

The result of this processor delivers one new DP problem.
Note that we keep the A-transformed DP problem as result of this processor.



   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
Modular Removal of Rules


Dependency Pairs:

B(c(x)) -> B(x)
C(a(x)) -> C(x)
A(b(x)) -> A(x)
C(a(x)) -> A(c(x))
B(c(x)) -> C(b(x))
A(b(x)) -> B(a(x))


Rules:


c(a(x)) -> a(c(x))
a(b(x)) -> b(a(x))
b(c(x)) -> c(b(x))





We have the following set of usable rules:

c(a(x)) -> a(c(x))
b(c(x)) -> c(b(x))
a(b(x)) -> b(a(x))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(c(x1))=  x1  
  POL(C(x1))=  x1  
  POL(B(x1))=  1 + x1  
  POL(b(x1))=  1 + x1  
  POL(a(x1))=  x1  
  POL(A(x1))=  x1  

We have the following set D of usable symbols: {c, C, B, b, a, A}
The following Dependency Pairs can be deleted as the lhs is strictly greater than the corresponding rhs:

A(b(x)) -> A(x)

No Rules can be deleted.

The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
MRR
             ...
               →DP Problem 3
Modular Removal of Rules


Dependency Pairs:

B(c(x)) -> B(x)
C(a(x)) -> C(x)
C(a(x)) -> A(c(x))
B(c(x)) -> C(b(x))
A(b(x)) -> B(a(x))


Rules:


c(a(x)) -> a(c(x))
a(b(x)) -> b(a(x))
b(c(x)) -> c(b(x))





We have the following set of usable rules:

c(a(x)) -> a(c(x))
b(c(x)) -> c(b(x))
a(b(x)) -> b(a(x))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(c(x1))=  1 + x1  
  POL(C(x1))=  1 + x1  
  POL(B(x1))=  x1  
  POL(b(x1))=  x1  
  POL(a(x1))=  x1  
  POL(A(x1))=  x1  

We have the following set D of usable symbols: {c, C, B, b, a, A}
The following Dependency Pairs can be deleted as the lhs is strictly greater than the corresponding rhs:

B(c(x)) -> B(x)

No Rules can be deleted.

The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
MRR
             ...
               →DP Problem 4
Modular Removal of Rules


Dependency Pairs:

C(a(x)) -> C(x)
C(a(x)) -> A(c(x))
B(c(x)) -> C(b(x))
A(b(x)) -> B(a(x))


Rules:


c(a(x)) -> a(c(x))
a(b(x)) -> b(a(x))
b(c(x)) -> c(b(x))





We have the following set of usable rules:

c(a(x)) -> a(c(x))
b(c(x)) -> c(b(x))
a(b(x)) -> b(a(x))
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(c(x1))=  x1  
  POL(C(x1))=  x1  
  POL(B(x1))=  x1  
  POL(b(x1))=  x1  
  POL(a(x1))=  1 + x1  
  POL(A(x1))=  1 + x1  

We have the following set D of usable symbols: {c, C, B, b, a, A}
The following Dependency Pairs can be deleted as the lhs is strictly greater than the corresponding rhs:

C(a(x)) -> C(x)

No Rules can be deleted.

The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
MRR
             ...
               →DP Problem 5
Negative Polynomial Order


Dependency Pairs:

C(a(x)) -> A(c(x))
B(c(x)) -> C(b(x))
A(b(x)) -> B(a(x))


Rules:


c(a(x)) -> a(c(x))
a(b(x)) -> b(a(x))
b(c(x)) -> c(b(x))





The following Dependency Pair can be strictly oriented using the given order.

C(a(x)) -> A(c(x))


Moreover, the following usable rules (regarding the implicit AFS) are oriented.

c(a(x)) -> a(c(x))
b(c(x)) -> c(b(x))
a(b(x)) -> b(a(x))


Used ordering:
Polynomial Order with Interpretation:

POL( C(x1) ) = 1

POL( A(x1) ) = 0

POL( B(x1) ) = x1

POL( a(x1) ) = 0

POL( c(x1) ) = 1

POL( b(x1) ) = x1


This results in one new DP problem.


   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
MRR
             ...
               →DP Problem 6
Dependency Graph


Dependency Pairs:

B(c(x)) -> C(b(x))
A(b(x)) -> B(a(x))


Rules:


c(a(x)) -> a(c(x))
a(b(x)) -> b(a(x))
b(c(x)) -> c(b(x))





Using the Dependency Graph resulted in no new DP problems.

Termination of R successfully shown.
Duration:
0:00 minutes