The rewrite relation of the following TRS is considered.
splitAt(s(N),cons(X)) | → | u(splitAt(N,XS)) | (1) |
u(pair(YS,ZS)) | → | pair(cons(X),ZS) | (2) |
tail(cons(N)) | → | XS | (3) |
natsFrom(N) | → | cons(N) | (4) |
fst(pair(XS,YS)) | → | XS | (5) |
snd(pair(XS,YS)) | → | YS | (6) |
splitAt(0,XS) | → | pair(nil,XS) | (7) |
head(cons(N)) | → | N | (8) |
sel(N,XS) | → | head(afterNth(N,XS)) | (9) |
take(N,XS) | → | fst(splitAt(N,XS)) | (10) |
afterNth(N,XS) | → | snd(splitAt(N,XS)) | (11) |
The TRS violates one of the two variable conditions. Thus, it is not terminating.