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

Termination of R to be shown.



   TRS
Reversing
Rev
DPs




Rule(s) before reversing:

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


Rule(s) after reversing:

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





Trying another alternative:
   TRS
Rev
Reversing
DPs




Rule(s) before reversing:

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


Rule(s) after reversing:

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





Trying another alternative:
   TRS
Rev
Rev
Dependency Pair Analysis



R contains the following Dependency Pairs:

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

Furthermore, R contains one SCC.


   TRS
Rev
Rev
DPs
       →DP Problem 1
Non-Overlappingness Check


Dependency Pairs:

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


Rules:


a(d(x)) -> d(c(b(a(x))))
a(c(x)) -> x
b(c(x)) -> c(d(a(b(x))))
b(d(x)) -> 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:


   TRS
Rev
Rev
DPs
       →DP Problem 1
NOC
           →DP Problem 2
Narrowing Transformation


Dependency Pairs:

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


Rules:


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


Strategy:

innermost




On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

A(d(x)) -> B(a(x))
two new Dependency Pairs are created:

A(d(d(x''))) -> B(d(c(b(a(x'')))))
A(d(c(x''))) -> B(x'')

The transformation is resulting in one new DP problem:



   TRS
Rev
Rev
DPs
       →DP Problem 1
NOC
           →DP Problem 2
Nar
             ...
               →DP Problem 3
Narrowing Transformation


Dependency Pairs:

A(d(c(x''))) -> B(x'')
A(d(x)) -> A(x)
B(c(x)) -> A(b(x))
B(c(x)) -> B(x)


Rules:


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


Strategy:

innermost




On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

B(c(x)) -> A(b(x))
two new Dependency Pairs are created:

B(c(c(x''))) -> A(c(d(a(b(x'')))))
B(c(d(x''))) -> A(x'')

The transformation is resulting in one new DP problem:



   TRS
Rev
Rev
DPs
       →DP Problem 1
NOC
           →DP Problem 2
Nar
             ...
               →DP Problem 4
Usable Rules (Innermost)


Dependency Pairs:

A(d(x)) -> A(x)
B(c(d(x''))) -> A(x'')
B(c(x)) -> B(x)
A(d(c(x''))) -> B(x'')


Rules:


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


Strategy:

innermost




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


   TRS
Rev
Rev
DPs
       →DP Problem 1
NOC
           →DP Problem 2
Nar
             ...
               →DP Problem 5
Modular Removal of Rules


Dependency Pairs:

A(d(x)) -> A(x)
B(c(d(x''))) -> A(x'')
B(c(x)) -> B(x)
A(d(c(x''))) -> B(x'')


Rule:

none


Strategy:

innermost




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(c(x1))=  x1  
  POL(B(x1))=  x1  
  POL(d(x1))=  x1  
  POL(A(x1))=  x1  

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

A(d(x)) -> A(x)
B(c(d(x''))) -> A(x'')
B(c(x)) -> B(x)
A(d(c(x''))) -> 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.


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