The rewrite relation of the following TRS is considered.
from(X) | → | cons(X,n__from(n__s(X))) | (1) |
sel(0,cons(X,XS)) | → | X | (2) |
sel(s(N),cons(X,XS)) | → | sel(N,activate(XS)) | (3) |
minus(X,0) | → | 0 | (4) |
minus(s(X),s(Y)) | → | minus(X,Y) | (5) |
quot(0,s(Y)) | → | 0 | (6) |
quot(s(X),s(Y)) | → | s(quot(minus(X,Y),s(Y))) | (7) |
zWquot(XS,nil) | → | nil | (8) |
zWquot(nil,XS) | → | nil | (9) |
zWquot(cons(X,XS),cons(Y,YS)) | → | cons(quot(X,Y),n__zWquot(activate(XS),activate(YS))) | (10) |
from(X) | → | n__from(X) | (11) |
s(X) | → | n__s(X) | (12) |
zWquot(X1,X2) | → | n__zWquot(X1,X2) | (13) |
activate(n__from(X)) | → | from(activate(X)) | (14) |
activate(n__s(X)) | → | s(activate(X)) | (15) |
activate(n__zWquot(X1,X2)) | → | zWquot(activate(X1),activate(X2)) | (16) |
activate(X) | → | X | (17) |
sel#(s(N),cons(X,XS)) | → | activate#(XS) | (18) |
sel#(s(N),cons(X,XS)) | → | sel#(N,activate(XS)) | (19) |
minus#(s(X),s(Y)) | → | minus#(X,Y) | (20) |
quot#(s(X),s(Y)) | → | minus#(X,Y) | (21) |
quot#(s(X),s(Y)) | → | quot#(minus(X,Y),s(Y)) | (22) |
quot#(s(X),s(Y)) | → | s#(quot(minus(X,Y),s(Y))) | (23) |
zWquot#(cons(X,XS),cons(Y,YS)) | → | activate#(YS) | (24) |
zWquot#(cons(X,XS),cons(Y,YS)) | → | activate#(XS) | (25) |
zWquot#(cons(X,XS),cons(Y,YS)) | → | quot#(X,Y) | (26) |
activate#(n__from(X)) | → | activate#(X) | (27) |
activate#(n__from(X)) | → | from#(activate(X)) | (28) |
activate#(n__s(X)) | → | activate#(X) | (29) |
activate#(n__s(X)) | → | s#(activate(X)) | (30) |
activate#(n__zWquot(X1,X2)) | → | activate#(X2) | (31) |
activate#(n__zWquot(X1,X2)) | → | activate#(X1) | (32) |
activate#(n__zWquot(X1,X2)) | → | zWquot#(activate(X1),activate(X2)) | (33) |
The dependency pairs are split into 3 components.
sel#(s(N),cons(X,XS)) | → | sel#(N,activate(XS)) | (19) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
sel#(s(N),cons(X,XS)) | → | sel#(N,activate(XS)) | (19) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
zWquot#(cons(X,XS),cons(Y,YS)) | → | activate#(YS) | (24) |
activate#(n__zWquot(X1,X2)) | → | zWquot#(activate(X1),activate(X2)) | (33) |
zWquot#(cons(X,XS),cons(Y,YS)) | → | activate#(XS) | (25) |
activate#(n__zWquot(X1,X2)) | → | activate#(X1) | (32) |
activate#(n__zWquot(X1,X2)) | → | activate#(X2) | (31) |
activate#(n__s(X)) | → | activate#(X) | (29) |
activate#(n__from(X)) | → | activate#(X) | (27) |
π(zWquot#) | = | { 1, 2, 2 } |
π(activate#) | = | { 1 } |
π(n__zWquot) | = | { 1, 1, 2, 2, 2 } |
π(zWquot) | = | { 1, 1, 2, 2, 2 } |
π(activate) | = | { 1 } |
π(s) | = | { 1 } |
π(cons) | = | { 2 } |
π(n__from) | = | { 1 } |
π(n__s) | = | { 1 } |
π(from) | = | { 1 } |
zWquot#(cons(X,XS),cons(Y,YS)) | → | activate#(YS) | (24) |
activate#(n__zWquot(X1,X2)) | → | zWquot#(activate(X1),activate(X2)) | (33) |
zWquot#(cons(X,XS),cons(Y,YS)) | → | activate#(XS) | (25) |
activate#(n__zWquot(X1,X2)) | → | activate#(X1) | (32) |
activate#(n__zWquot(X1,X2)) | → | activate#(X2) | (31) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
activate#(n__s(X)) | → | activate#(X) | (29) |
1 | > | 1 | |
activate#(n__from(X)) | → | activate#(X) | (27) |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.
minus#(s(X),s(Y)) | → | minus#(X,Y) | (20) |
Using size-change termination in combination with the subterm criterion one obtains the following initial size-change graphs.
minus#(s(X),s(Y)) | → | minus#(X,Y) | (20) |
2 | > | 2 | |
1 | > | 1 |
As there is no critical graph in the transitive closure, there are no infinite chains.