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

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

F(x, a(b(y))) -> F(a(a(x)), y)
F(x, b(a(y))) -> F(b(b(x)), y)
F(a(x), y) -> F(x, a(y))
F(b(x), y) -> F(x, b(y))

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Modular Removal of Rules


Dependency Pairs:

F(a(x), y) -> F(x, a(y))
F(b(x), y) -> F(x, b(y))
F(x, b(a(y))) -> F(b(b(x)), y)
F(x, a(b(y))) -> F(a(a(x)), y)


Rules:


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





We have the following set of usable rules: none
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(b(x1))=  x1  
  POL(a(x1))=  x1  
  POL(F(x1, x2))=  x1 + x2  

We have the following set D of usable symbols: {b, a, F}
No Dependency Pairs can be deleted.
4 non usable rules have been deleted.

The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
Non-Overlappingness Check


Dependency Pairs:

F(a(x), y) -> F(x, a(y))
F(b(x), y) -> F(x, b(y))
F(x, b(a(y))) -> F(b(b(x)), y)
F(x, a(b(y))) -> F(a(a(x)), y)


Rule:

none





R does not overlap into P. Moreover, R is locally confluent (all critical pairs are trivially joinable).Hence we can switch to innermost.
The transformation is resulting in one subcycle:


   R
DPs
       →DP Problem 1
MRR
           →DP Problem 2
NOC
             ...
               →DP Problem 3
Scc To SRS


Dependency Pairs:

F(a(x), y) -> F(x, a(y))
F(b(x), y) -> F(x, b(y))
F(x, b(a(y))) -> F(b(b(x)), y)
F(x, a(b(y))) -> F(a(a(x)), y)


Rule:

none


Strategy:

innermost




It has been determined that showing finiteness of this DP problem is equivalent to showing termination of a string rewrite system.
(Re)applying the dependency pair method (incl. the dependency graph) for the following SRS:

b(a(x)) -> b(b(x))
a(b(x)) -> a(a(x))
For each of the two SCCs we obtain one new DP problem


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


Dependency Pairs:

B(a(x)) -> B(x)
B(a(x)) -> B(b(x))


Rules:


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





We have the following set of usable rules:

b(a(x)) -> b(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(B(x1))=  1 + x1  
  POL(b(x1))=  x1  
  POL(a(x1))=  x1  

We have the following set D of usable symbols: {B, b}
The following Dependency Pairs can be deleted as they contain symbols in their lhs which do not occur in D:

B(a(x)) -> B(x)
B(a(x)) -> B(b(x))

No Rules can be deleted.

After the removal, there are no SCCs in the dependency graph which results in no DP problems which have to be solved.



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


Dependency Pairs:

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


Rules:


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





We have the following set of usable rules:

a(b(x)) -> a(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(b(x1))=  x1  
  POL(a(x1))=  x1  
  POL(A(x1))=  1 + x1  

We have the following set D of usable symbols: {a, A}
The following Dependency Pairs can be deleted as they contain symbols in their lhs which do not occur in D:

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

No Rules can be deleted.

After the removal, there are no SCCs in the dependency graph which results in no DP problems which have to be solved.


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