Term Rewriting System R:
[x, y]
f(x, a(b(y))) -> f(a(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(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(b(x), y) -> F(x, b(y))
F(a(x), y) -> F(x, a(y))
F(x, a(b(y))) -> F(a(b(x)), y)

Rules:

f(x, a(b(y))) -> f(a(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)) =  1 + x1 + x2

We have the following set D of usable symbols: {b, a, F}
No Dependency Pairs can be deleted.
3 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(b(x), y) -> F(x, b(y))
F(a(x), y) -> F(x, a(y))
F(x, a(b(y))) -> F(a(b(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(b(x), y) -> F(x, b(y))
F(a(x), y) -> F(x, a(y))
F(x, a(b(y))) -> F(a(b(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:

a(b(x)) -> b(a(x))
There is only one SCC in the graph and, thus, we obtain one new DP problem.

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳MRR`
`           →DP Problem 2`
`             ↳NOC`
`             ...`
`               →DP Problem 4`
`                 ↳Non-Overlappingness Check`

Dependency Pair:

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

Rule:

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

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 5`
`                 ↳Usable Rules (Innermost)`

Dependency Pair:

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

Rule:

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

Strategy:

innermost

As we are in the innermost case, we can delete all 1 non-usable-rules.

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳MRR`
`           →DP Problem 2`
`             ↳NOC`
`             ...`
`               →DP Problem 6`
`                 ↳Size-Change Principle`

Dependency Pair:

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

Rule:

none

Strategy:

innermost

We number the DPs as follows:
1. A(b(x)) -> A(x)
and get the following Size-Change Graph(s):
{1} , {1}
1>1

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
b(x1) -> b(x1)

We obtain no new DP problems.

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