The rewrite relation of the following TRS is considered.
U11(tt,N,X,XS) | → | U12(splitAt(activate(N),activate(XS)),activate(X)) | (1) |
U12(pair(YS,ZS),X) | → | pair(cons(activate(X),YS),ZS) | (2) |
afterNth(N,XS) | → | snd(splitAt(N,XS)) | (3) |
and(tt,X) | → | activate(X) | (4) |
fst(pair(X,Y)) | → | X | (5) |
head(cons(N,XS)) | → | N | (6) |
natsFrom(N) | → | cons(N,n__natsFrom(s(N))) | (7) |
sel(N,XS) | → | head(afterNth(N,XS)) | (8) |
snd(pair(X,Y)) | → | Y | (9) |
splitAt(0,XS) | → | pair(nil,XS) | (10) |
splitAt(s(N),cons(X,XS)) | → | U11(tt,N,X,activate(XS)) | (11) |
tail(cons(N,XS)) | → | activate(XS) | (12) |
take(N,XS) | → | fst(splitAt(N,XS)) | (13) |
natsFrom(X) | → | n__natsFrom(X) | (14) |
activate(n__natsFrom(X)) | → | natsFrom(X) | (15) |
activate(X) | → | X | (16) |
take#(N,XS) | → | fst#(splitAt(N,XS)) | (17) |
tail#(cons(N,XS)) | → | activate#(XS) | (18) |
U11#(tt,N,X,XS) | → | activate#(X) | (19) |
U11#(tt,N,X,XS) | → | U12#(splitAt(activate(N),activate(XS)),activate(X)) | (20) |
U11#(tt,N,X,XS) | → | activate#(N) | (21) |
U11#(tt,N,X,XS) | → | activate#(XS) | (22) |
sel#(N,XS) | → | head#(afterNth(N,XS)) | (23) |
afterNth#(N,XS) | → | snd#(splitAt(N,XS)) | (24) |
U11#(tt,N,X,XS) | → | splitAt#(activate(N),activate(XS)) | (25) |
splitAt#(s(N),cons(X,XS)) | → | activate#(XS) | (26) |
and#(tt,X) | → | activate#(X) | (27) |
activate#(n__natsFrom(X)) | → | natsFrom#(X) | (28) |
take#(N,XS) | → | splitAt#(N,XS) | (29) |
U12#(pair(YS,ZS),X) | → | activate#(X) | (30) |
afterNth#(N,XS) | → | splitAt#(N,XS) | (31) |
sel#(N,XS) | → | afterNth#(N,XS) | (32) |
splitAt#(s(N),cons(X,XS)) | → | U11#(tt,N,X,activate(XS)) | (33) |
The dependency pairs are split into 1 component.
splitAt#(s(N),cons(X,XS)) | → | U11#(tt,N,X,activate(XS)) | (33) |
U11#(tt,N,X,XS) | → | splitAt#(activate(N),activate(XS)) | (25) |
[U11(x1,...,x4)] | = | 0 |
[s(x1)] | = | x1 + 23598 |
[take#(x1, x2)] | = | 0 |
[activate(x1)] | = | x1 + 11798 |
[take(x1, x2)] | = | 0 |
[and(x1, x2)] | = | 0 |
[pair(x1, x2)] | = | 0 |
[fst(x1)] | = | 0 |
[activate#(x1)] | = | 0 |
[natsFrom(x1)] | = | 29019 |
[head#(x1)] | = | 0 |
[splitAt(x1, x2)] | = | 0 |
[fst#(x1)] | = | 0 |
[U12(x1, x2)] | = | 0 |
[n__natsFrom(x1)] | = | 17221 |
[U12#(x1, x2)] | = | 0 |
[tail(x1)] | = | 0 |
[0] | = | 0 |
[sel#(x1, x2)] | = | 0 |
[sel(x1, x2)] | = | 0 |
[afterNth(x1, x2)] | = | 0 |
[nil] | = | 0 |
[tail#(x1)] | = | 0 |
[splitAt#(x1, x2)] | = | x1 + x2 + 0 |
[afterNth#(x1, x2)] | = | 0 |
[U11#(x1,...,x4)] | = | x1 + x2 + x4 + 23596 |
[head(x1)] | = | 0 |
[snd#(x1)] | = | 0 |
[cons(x1, x2)] | = | x2 + 11798 |
[natsFrom#(x1)] | = | 0 |
[snd(x1)] | = | 0 |
[tt] | = | 1 |
[and#(x1, x2)] | = | 0 |
activate(n__natsFrom(X)) | → | natsFrom(X) | (15) |
activate(X) | → | X | (16) |
natsFrom(N) | → | cons(N,n__natsFrom(s(N))) | (7) |
natsFrom(X) | → | n__natsFrom(X) | (14) |
splitAt#(s(N),cons(X,XS)) | → | U11#(tt,N,X,activate(XS)) | (33) |
U11#(tt,N,X,XS) | → | splitAt#(activate(N),activate(XS)) | (25) |
The dependency pairs are split into 0 components.