Term Rewriting System R:
[N, X, Y, X1, X2, Z]
terms(N) -> cons(recip(sqr(N)), nterms(s(N)))
terms(X) -> nterms(X)
sqr(0) -> 0
sqr(s(X)) -> s(nadd(sqr(activate(X)), dbl(activate(X))))
dbl(0) -> 0
dbl(s(X)) -> s(ns(ndbl(activate(X))))
dbl(X) -> ndbl(X)
add(0, X) -> X
add(s(X), Y) -> s(nadd(activate(X), Y))
add(X1, X2) -> nadd(X1, X2)
first(0, X) -> nil
first(s(X), cons(Y, Z)) -> cons(Y, nfirst(activate(X), activate(Z)))
first(X1, X2) -> nfirst(X1, X2)
s(X) -> ns(X)
activate(nterms(X)) -> terms(X)
activate(nadd(X1, X2)) -> add(X1, X2)
activate(ns(X)) -> s(X)
activate(ndbl(X)) -> dbl(X)
activate(nfirst(X1, X2)) -> first(X1, X2)
activate(X) -> X

Innermost Termination of R to be shown.



   R
Removing Redundant Rules for Innermost Termination



Removing the following rules from R which left hand sides contain non normal subterms

sqr(s(X)) -> s(nadd(sqr(activate(X)), dbl(activate(X))))
dbl(s(X)) -> s(ns(ndbl(activate(X))))
add(s(X), Y) -> s(nadd(activate(X), Y))
first(s(X), cons(Y, Z)) -> cons(Y, nfirst(activate(X), activate(Z)))


   R
RRRI
       →TRS2
Removing Redundant Rules



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

terms(N) -> cons(recip(sqr(N)), nterms(s(N)))
terms(X) -> nterms(X)

where the Polynomial interpretation:
  POL(activate(x1))=  2·x1  
  POL(n__terms(x1))=  1 + x1  
  POL(sqr(x1))=  x1  
  POL(n__s(x1))=  x1  
  POL(terms(x1))=  2 + 2·x1  
  POL(n__dbl(x1))=  x1  
  POL(add(x1, x2))=  x1 + x2  
  POL(0)=  0  
  POL(first(x1, x2))=  x1 + x2  
  POL(cons(x1, x2))=  x1 + x2  
  POL(dbl(x1))=  x1  
  POL(nil)=  0  
  POL(s(x1))=  x1  
  POL(recip(x1))=  x1  
  POL(n__add(x1, x2))=  x1 + x2  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

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


   R
RRRI
       →TRS2
RRRPolo
           →TRS3
Removing Redundant Rules



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

add(X1, X2) -> nadd(X1, X2)
add(0, X) -> X

where the Polynomial interpretation:
  POL(activate(x1))=  2·x1  
  POL(n__terms(x1))=  x1  
  POL(sqr(x1))=  x1  
  POL(n__s(x1))=  x1  
  POL(terms(x1))=  x1  
  POL(n__dbl(x1))=  x1  
  POL(add(x1, x2))=  2 + x1 + x2  
  POL(0)=  0  
  POL(first(x1, x2))=  x1 + x2  
  POL(dbl(x1))=  x1  
  POL(nil)=  0  
  POL(s(x1))=  x1  
  POL(n__add(x1, x2))=  1 + x1 + x2  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

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


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



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

dbl(X) -> ndbl(X)
dbl(0) -> 0

where the Polynomial interpretation:
  POL(activate(x1))=  2·x1  
  POL(n__terms(x1))=  x1  
  POL(sqr(x1))=  x1  
  POL(n__s(x1))=  x1  
  POL(terms(x1))=  x1  
  POL(n__dbl(x1))=  1 + x1  
  POL(add(x1, x2))=  x1 + x2  
  POL(0)=  0  
  POL(first(x1, x2))=  x1 + x2  
  POL(dbl(x1))=  2 + x1  
  POL(nil)=  0  
  POL(s(x1))=  x1  
  POL(n__add(x1, x2))=  x1 + x2  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

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


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



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

first(X1, X2) -> nfirst(X1, X2)
first(0, X) -> nil
activate(nadd(X1, X2)) -> add(X1, X2)
activate(ns(X)) -> s(X)
activate(X) -> X
activate(ndbl(X)) -> dbl(X)
activate(nterms(X)) -> terms(X)

where the Polynomial interpretation:
  POL(activate(x1))=  1 + x1  
  POL(n__terms(x1))=  x1  
  POL(sqr(x1))=  x1  
  POL(n__s(x1))=  x1  
  POL(terms(x1))=  x1  
  POL(n__dbl(x1))=  x1  
  POL(add(x1, x2))=  x1 + x2  
  POL(first(x1, x2))=  1 + x1 + x2  
  POL(0)=  0  
  POL(dbl(x1))=  x1  
  POL(nil)=  0  
  POL(s(x1))=  x1  
  POL(n__add(x1, x2))=  x1 + x2  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

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


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



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

sqr(0) -> 0

where the Polynomial interpretation:
  POL(activate(x1))=  x1  
  POL(first(x1, x2))=  x1 + x2  
  POL(0)=  0  
  POL(sqr(x1))=  1 + x1  
  POL(n__s(x1))=  x1  
  POL(s(x1))=  x1  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

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


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



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

s(X) -> ns(X)

where the Polynomial interpretation:
  POL(activate(x1))=  x1  
  POL(first(x1, x2))=  x1 + x2  
  POL(n__s(x1))=  x1  
  POL(s(x1))=  1 + x1  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

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


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



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

activate(nfirst(X1, X2)) -> first(X1, X2)

where the Polynomial interpretation:
  POL(activate(x1))=  1 + x1  
  POL(first(x1, x2))=  x1 + x2  
  POL(n__first(x1, x2))=  x1 + x2  
was used.

All Rules of R can be deleted.


   R
RRRI
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS9
Dependency Pair Analysis



R contains no Dependency Pairs and therefore no SCCs.

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