Term Rewriting System R:
[X, Y, Z, X1, X2]
active(2nd(cons(X, cons(Y, Z)))) -> mark(Y)
active(from(X)) -> mark(cons(X, from(s(X))))
active(2nd(X)) -> 2nd(active(X))
active(cons(X1, X2)) -> cons(active(X1), X2)
active(from(X)) -> from(active(X))
active(s(X)) -> s(active(X))
2nd(mark(X)) -> mark(2nd(X))
2nd(ok(X)) -> ok(2nd(X))
cons(mark(X1), X2) -> mark(cons(X1, X2))
cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
from(mark(X)) -> mark(from(X))
from(ok(X)) -> ok(from(X))
s(mark(X)) -> mark(s(X))
s(ok(X)) -> ok(s(X))
proper(2nd(X)) -> 2nd(proper(X))
proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
proper(from(X)) -> from(proper(X))
proper(s(X)) -> s(proper(X))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))

Termination of R to be shown.



   R
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

active(2nd(cons(X, cons(Y, Z)))) -> mark(Y)
active(2nd(X)) -> 2nd(active(X))
cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
top(ok(X)) -> top(active(X))

where the Polynomial interpretation:
  POL(from(x1))=  x1  
  POL(top(x1))=  1 + x1  
  POL(active(x1))=  2·x1  
  POL(proper(x1))=  x1  
  POL(2nd(x1))=  1 + 2·x1  
  POL(cons(x1, x2))=  x1 + x2  
  POL(s(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  1 + 2·x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

active(cons(X1, X2)) -> cons(active(X1), X2)

where the Polynomial interpretation:
  POL(from(x1))=  x1  
  POL(top(x1))=  1 + x1  
  POL(active(x1))=  1 + 2·x1  
  POL(proper(x1))=  x1  
  POL(2nd(x1))=  x1  
  POL(cons(x1, x2))=  1 + x1 + x2  
  POL(s(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

cons(mark(X1), X2) -> mark(cons(X1, X2))
top(mark(X)) -> top(proper(X))
from(mark(X)) -> mark(from(X))
active(from(X)) -> from(active(X))

where the Polynomial interpretation:
  POL(from(x1))=  1 + 2·x1  
  POL(top(x1))=  1 + x1  
  POL(proper(x1))=  x1  
  POL(active(x1))=  2·x1  
  POL(2nd(x1))=  x1  
  POL(cons(x1, x2))=  2·x1 + x2  
  POL(s(x1))=  x1  
  POL(mark(x1))=  1 + x1  
  POL(ok(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS4
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

proper(from(X)) -> from(proper(X))
active(from(X)) -> mark(cons(X, from(s(X))))

where the Polynomial interpretation:
  POL(from(x1))=  1 + x1  
  POL(proper(x1))=  2·x1  
  POL(active(x1))=  2·x1  
  POL(2nd(x1))=  x1  
  POL(cons(x1, x2))=  x1 + x2  
  POL(s(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS5
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

2nd(ok(X)) -> ok(2nd(X))

where the Polynomial interpretation:
  POL(from(x1))=  x1  
  POL(proper(x1))=  x1  
  POL(active(x1))=  x1  
  POL(2nd(x1))=  2·x1  
  POL(cons(x1, x2))=  x1 + x2  
  POL(s(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  1 + x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS6
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

s(mark(X)) -> mark(s(X))

where the Polynomial interpretation:
  POL(from(x1))=  x1  
  POL(proper(x1))=  x1  
  POL(active(x1))=  x1  
  POL(2nd(x1))=  x1  
  POL(cons(x1, x2))=  x1 + x2  
  POL(s(x1))=  2·x1  
  POL(mark(x1))=  1 + x1  
  POL(ok(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS7
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))

where the Polynomial interpretation:
  POL(from(x1))=  x1  
  POL(proper(x1))=  2·x1  
  POL(active(x1))=  x1  
  POL(2nd(x1))=  x1  
  POL(cons(x1, x2))=  1 + x1 + x2  
  POL(s(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS8
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

s(ok(X)) -> ok(s(X))

where the Polynomial interpretation:
  POL(from(x1))=  x1  
  POL(active(x1))=  x1  
  POL(proper(x1))=  x1  
  POL(2nd(x1))=  x1  
  POL(s(x1))=  2·x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  1 + x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS9
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

from(ok(X)) -> ok(from(X))

where the Polynomial interpretation:
  POL(from(x1))=  2·x1  
  POL(active(x1))=  x1  
  POL(proper(x1))=  x1  
  POL(2nd(x1))=  x1  
  POL(s(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(ok(x1))=  1 + x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS10
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

active(s(X)) -> s(active(X))

where the Polynomial interpretation:
  POL(proper(x1))=  x1  
  POL(active(x1))=  2·x1  
  POL(2nd(x1))=  x1  
  POL(s(x1))=  1 + x1  
  POL(mark(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS11
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

proper(s(X)) -> s(proper(X))

where the Polynomial interpretation:
  POL(proper(x1))=  2·x1  
  POL(2nd(x1))=  x1  
  POL(s(x1))=  1 + x1  
  POL(mark(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS12
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

2nd(mark(X)) -> mark(2nd(X))

where the Polynomial interpretation:
  POL(proper(x1))=  x1  
  POL(2nd(x1))=  2·x1  
  POL(mark(x1))=  1 + x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS13
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

proper(2nd(X)) -> 2nd(proper(X))

where the Polynomial interpretation:
  POL(proper(x1))=  2·x1  
  POL(2nd(x1))=  1 + x1  
was used.

All Rules of R can be deleted.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS14
Overlay and local confluence Check



The TRS is overlay and locally confluent (all critical pairs are trivially joinable).Hence, we can switch to innermost.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS15
Dependency Pair Analysis



R contains no Dependency Pairs and therefore no SCCs.

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