Term Rewriting System R: [X, Y, X1, X2] a__nats -> a__adx(a__zeros) a__nats -> nats a__zeros -> cons(0, zeros) a__zeros -> zeros a__incr(cons(X, Y)) -> cons(s(X), incr(Y)) a__incr(X) -> incr(X) a__adx(cons(X, Y)) -> a__incr(cons(X, adx(Y))) a__adx(X) -> adx(X) a__hd(cons(X, Y)) -> mark(X) a__hd(X) -> hd(X) a__tl(cons(X, Y)) -> mark(Y) a__tl(X) -> tl(X) mark(nats) -> a__nats mark(adx(X)) -> a__adx(mark(X)) mark(zeros) -> a__zeros mark(incr(X)) -> a__incr(mark(X)) mark(hd(X)) -> a__hd(mark(X)) mark(tl(X)) -> a__tl(mark(X)) mark(cons(X1, X2)) -> cons(X1, X2) mark(0) -> 0 mark(s(X)) -> s(X) Termination of R to be shown. Removing the following rules from R which fullfill a polynomial ordering: a__nats -> a__adx(a__zeros) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = x_1 POL(nats) = 1 POL(tl(x_1)) = x_1 POL(hd(x_1)) = x_1 POL(mark(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(cons(x_1, x_2)) = x_1 + x_2 POL(a__hd(x_1)) = x_1 POL(adx(x_1)) = x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 0 POL(a__nats) = 1 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__nats -> nats where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = x_1 POL(nats) = 1 POL(tl(x_1)) = 2*x_1 POL(mark(x_1)) = 2*x_1 POL(hd(x_1)) = 2*x_1 POL(a__tl(x_1)) = 2*x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(cons(x_1, x_2)) = x_1 + x_2 POL(a__hd(x_1)) = 2*x_1 POL(adx(x_1)) = x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 0 POL(a__nats) = 2 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__zeros -> cons(0, zeros) a__zeros -> zeros where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = x_1 POL(nats) = 0 POL(tl(x_1)) = 2*x_1 POL(mark(x_1)) = 2*x_1 POL(hd(x_1)) = 2*x_1 POL(a__tl(x_1)) = 2*x_1 POL(zeros) = 1 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(cons(x_1, x_2)) = x_1 + x_2 POL(a__hd(x_1)) = 2*x_1 POL(adx(x_1)) = x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 2 POL(a__nats) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__incr(cons(X, Y)) -> cons(s(X), incr(Y)) a__incr(X) -> incr(X) a__hd(cons(X, Y)) -> mark(X) mark(cons(X1, X2)) -> cons(X1, X2) a__tl(cons(X, Y)) -> mark(Y) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = 2*x_1 POL(nats) = 0 POL(mark(x_1)) = 2*x_1 POL(hd(x_1)) = 2*x_1 POL(tl(x_1)) = 2*x_1 POL(a__tl(x_1)) = 2*x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = 2 + x_1 POL(cons(x_1, x_2)) = 2 + x_1 + x_2 POL(a__hd(x_1)) = 2*x_1 POL(adx(x_1)) = 2*x_1 POL(a__zeros) = 0 POL(incr(x_1)) = 1 + x_1 POL(a__nats) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__adx(cons(X, Y)) -> a__incr(cons(X, adx(Y))) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = 2*x_1 POL(nats) = 0 POL(hd(x_1)) = x_1 POL(mark(x_1)) = x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(cons(x_1, x_2)) = 1 + x_1 + x_2 POL(a__hd(x_1)) = x_1 POL(adx(x_1)) = 2*x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 0 POL(a__nats) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__adx(X) -> adx(X) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = 2 + x_1 POL(nats) = 0 POL(hd(x_1)) = x_1 POL(mark(x_1)) = 2*x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(a__hd(x_1)) = x_1 POL(adx(x_1)) = 1 + x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 0 POL(a__nats) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__hd(X) -> hd(X) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = x_1 POL(nats) = 0 POL(mark(x_1)) = 2*x_1 POL(hd(x_1)) = 1 + x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(a__hd(x_1)) = 2 + x_1 POL(adx(x_1)) = x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 0 POL(a__nats) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(nats) -> a__nats where the Polynomial interpretation: POL(a__adx(x_1)) = x_1 POL(s(x_1)) = x_1 POL(nats) = 1 POL(mark(x_1)) = x_1 POL(hd(x_1)) = x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(a__hd(x_1)) = x_1 POL(adx(x_1)) = x_1 POL(incr(x_1)) = x_1 POL(a__zeros) = 0 POL(a__nats) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(adx(X)) -> a__adx(mark(X)) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__adx(x_1)) = x_1 POL(mark(x_1)) = x_1 POL(hd(x_1)) = x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 0 POL(0) = 0 POL(a__incr(x_1)) = x_1 POL(a__hd(x_1)) = x_1 POL(adx(x_1)) = 1 + x_1 POL(a__zeros) = 0 POL(incr(x_1)) = x_1 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(zeros) -> a__zeros where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__hd(x_1)) = x_1 POL(mark(x_1)) = x_1 POL(hd(x_1)) = x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(zeros) = 1 POL(0) = 0 POL(incr(x_1)) = x_1 POL(a__incr(x_1)) = x_1 POL(a__zeros) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(incr(X)) -> a__incr(mark(X)) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__hd(x_1)) = x_1 POL(mark(x_1)) = x_1 POL(hd(x_1)) = x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(0) = 0 POL(incr(x_1)) = 1 + x_1 POL(a__incr(x_1)) = x_1 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(hd(X)) -> a__hd(mark(X)) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(a__hd(x_1)) = x_1 POL(mark(x_1)) = x_1 POL(tl(x_1)) = x_1 POL(hd(x_1)) = 1 + x_1 POL(a__tl(x_1)) = x_1 POL(0) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(tl(X)) -> a__tl(mark(X)) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(mark(x_1)) = 2*x_1 POL(tl(x_1)) = 1 + x_1 POL(a__tl(x_1)) = 1 + x_1 POL(0) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: mark(0) -> 0 mark(s(X)) -> s(X) where the Polynomial interpretation: POL(s(x_1)) = x_1 POL(mark(x_1)) = 1 + x_1 POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = x_1 POL(0) = 0 was used. Not all Rules of R can be deleted, so we still have to regard a part of R. Removing the following rules from R which fullfill a polynomial ordering: a__tl(X) -> tl(X) where the Polynomial interpretation: POL(tl(x_1)) = x_1 POL(a__tl(x_1)) = 1 + x_1 was used. All Rules of R can be deleted. Termination of R successfully shown. Duration: 0.910 seconds.