MAYBE
Trs:
 { u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS),
           tail(cons(N, XS)) -> activate(XS),
                  sel(N, XS) -> head(afterNth(N, XS)),
           head(cons(N, XS)) -> N,
                 take(N, XS) -> fst(splitAt(N, XS)),
           fst(pair(XS, YS)) -> XS,
             afterNth(N, XS) -> snd(splitAt(N, XS)),
            splitAt(0(), XS) -> pair(nil(), XS),
  splitAt(s(N), cons(X, XS)) -> u(splitAt(N, activate(XS)), N, X, activate(XS)),
           snd(pair(XS, YS)) -> YS,
                 natsFrom(N) -> cons(N, n__natsFrom(s(N))),
                 natsFrom(X) -> n__natsFrom(X),
    activate(n__natsFrom(X)) -> natsFrom(X),
                 activate(X) -> X}
 Comment:
  We consider a duplicating trs.
  FAIL:
   Open