We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , splitAt(s(N), cons(X, XS)) -> U61(tt(), N, X, activate(XS))
  , U21(tt(), X) -> U22(tt(), activate(X))
  , U22(tt(), X) -> activate(X)
  , U31(tt(), N) -> U32(tt(), activate(N))
  , U32(tt(), N) -> activate(N)
  , U41(tt(), N, XS) -> U42(tt(), activate(N), activate(XS))
  , U42(tt(), N, XS) -> head(afterNth(activate(N), activate(XS)))
  , head(cons(N, XS)) -> U31(tt(), N)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , U61(tt(), N, X, XS) ->
    U62(tt(), activate(N), activate(X), activate(XS))
  , U62(tt(), N, X, XS) ->
    U63(tt(), activate(N), activate(X), activate(XS))
  , U63(tt(), N, X, XS) ->
    U64(splitAt(activate(N), activate(XS)), activate(X))
  , U64(pair(YS, ZS), X) -> pair(cons(activate(X), YS), ZS)
  , U71(tt(), XS) -> U72(tt(), activate(XS))
  , U72(tt(), XS) -> activate(XS)
  , U81(tt(), N, XS) -> U82(tt(), activate(N), activate(XS))
  , U82(tt(), N, XS) -> fst(splitAt(activate(N), activate(XS)))
  , fst(pair(X, Y)) -> U21(tt(), X)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , sel(N, XS) -> U41(tt(), N, XS)
  , s(X) -> n__s(X)
  , tail(cons(N, XS)) -> U71(tt(), activate(XS))
  , take(N, XS) -> U81(tt(), N, XS) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

Arguments of following rules are not normal-forms:

{ splitAt(s(N), cons(X, XS)) -> U61(tt(), N, X, activate(XS)) }

All above mentioned rules can be savely removed.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , U21(tt(), X) -> U22(tt(), activate(X))
  , U22(tt(), X) -> activate(X)
  , U31(tt(), N) -> U32(tt(), activate(N))
  , U32(tt(), N) -> activate(N)
  , U41(tt(), N, XS) -> U42(tt(), activate(N), activate(XS))
  , U42(tt(), N, XS) -> head(afterNth(activate(N), activate(XS)))
  , head(cons(N, XS)) -> U31(tt(), N)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , U61(tt(), N, X, XS) ->
    U62(tt(), activate(N), activate(X), activate(XS))
  , U62(tt(), N, X, XS) ->
    U63(tt(), activate(N), activate(X), activate(XS))
  , U63(tt(), N, X, XS) ->
    U64(splitAt(activate(N), activate(XS)), activate(X))
  , U64(pair(YS, ZS), X) -> pair(cons(activate(X), YS), ZS)
  , U71(tt(), XS) -> U72(tt(), activate(XS))
  , U72(tt(), XS) -> activate(XS)
  , U81(tt(), N, XS) -> U82(tt(), activate(N), activate(XS))
  , U82(tt(), N, XS) -> fst(splitAt(activate(N), activate(XS)))
  , fst(pair(X, Y)) -> U21(tt(), X)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , sel(N, XS) -> U41(tt(), N, XS)
  , s(X) -> n__s(X)
  , tail(cons(N, XS)) -> U71(tt(), activate(XS))
  , take(N, XS) -> U81(tt(), N, XS) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

We add the following dependency tuples:

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        splitAt^#(activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , activate^#(X) -> c_3()
  , activate^#(n__natsFrom(X)) ->
    c_4(natsFrom^#(activate(X)), activate^#(X))
  , activate^#(n__s(X)) -> c_5(s^#(activate(X)), activate^#(X))
  , snd^#(pair(X, Y)) -> c_6(U51^#(tt(), Y))
  , splitAt^#(0(), XS) -> c_7()
  , natsFrom^#(N) -> c_27()
  , natsFrom^#(X) -> c_28()
  , s^#(X) -> c_30()
  , U51^#(tt(), Y) -> c_16(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_8(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_9(activate^#(X))
  , U31^#(tt(), N) -> c_10(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_11(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_12(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_13(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_14(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_15(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_17(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_18(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_19(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_20(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_21(activate^#(X))
  , U71^#(tt(), XS) ->
    c_22(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_23(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_24(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_25(fst^#(splitAt(activate(N), activate(XS))),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_26(U21^#(tt(), X))
  , sel^#(N, XS) -> c_29(U41^#(tt(), N, XS))
  , tail^#(cons(N, XS)) ->
    c_31(U71^#(tt(), activate(XS)), activate^#(XS))
  , take^#(N, XS) -> c_32(U81^#(tt(), N, XS)) }

and mark the set of starting terms.

We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        splitAt^#(activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , activate^#(X) -> c_3()
  , activate^#(n__natsFrom(X)) ->
    c_4(natsFrom^#(activate(X)), activate^#(X))
  , activate^#(n__s(X)) -> c_5(s^#(activate(X)), activate^#(X))
  , snd^#(pair(X, Y)) -> c_6(U51^#(tt(), Y))
  , splitAt^#(0(), XS) -> c_7()
  , natsFrom^#(N) -> c_27()
  , natsFrom^#(X) -> c_28()
  , s^#(X) -> c_30()
  , U51^#(tt(), Y) -> c_16(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_8(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_9(activate^#(X))
  , U31^#(tt(), N) -> c_10(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_11(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_12(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_13(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_14(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_15(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_17(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_18(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_19(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_20(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_21(activate^#(X))
  , U71^#(tt(), XS) ->
    c_22(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_23(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_24(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_25(fst^#(splitAt(activate(N), activate(XS))),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_26(U21^#(tt(), X))
  , sel^#(N, XS) -> c_29(U41^#(tt(), N, XS))
  , tail^#(cons(N, XS)) ->
    c_31(U71^#(tt(), activate(XS)), activate^#(XS))
  , take^#(N, XS) -> c_32(U81^#(tt(), N, XS)) }
Weak Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , U21(tt(), X) -> U22(tt(), activate(X))
  , U22(tt(), X) -> activate(X)
  , U31(tt(), N) -> U32(tt(), activate(N))
  , U32(tt(), N) -> activate(N)
  , U41(tt(), N, XS) -> U42(tt(), activate(N), activate(XS))
  , U42(tt(), N, XS) -> head(afterNth(activate(N), activate(XS)))
  , head(cons(N, XS)) -> U31(tt(), N)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , U61(tt(), N, X, XS) ->
    U62(tt(), activate(N), activate(X), activate(XS))
  , U62(tt(), N, X, XS) ->
    U63(tt(), activate(N), activate(X), activate(XS))
  , U63(tt(), N, X, XS) ->
    U64(splitAt(activate(N), activate(XS)), activate(X))
  , U64(pair(YS, ZS), X) -> pair(cons(activate(X), YS), ZS)
  , U71(tt(), XS) -> U72(tt(), activate(XS))
  , U72(tt(), XS) -> activate(XS)
  , U81(tt(), N, XS) -> U82(tt(), activate(N), activate(XS))
  , U82(tt(), N, XS) -> fst(splitAt(activate(N), activate(XS)))
  , fst(pair(X, Y)) -> U21(tt(), X)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , sel(N, XS) -> U41(tt(), N, XS)
  , s(X) -> n__s(X)
  , tail(cons(N, XS)) -> U71(tt(), activate(XS))
  , take(N, XS) -> U81(tt(), N, XS) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

We estimate the number of application of {3,7,8,9,10} by
applications of Pre({3,7,8,9,10}) =
{1,2,4,5,11,12,13,14,15,16,17,20,21,22,23,24,25,26,27,28,31}. Here
rules are labeled as follows:

  DPs:
    { 1: U11^#(tt(), N, XS) ->
         c_1(U12^#(tt(), activate(N), activate(XS)),
             activate^#(N),
             activate^#(XS))
    , 2: U12^#(tt(), N, XS) ->
         c_2(snd^#(splitAt(activate(N), activate(XS))),
             splitAt^#(activate(N), activate(XS)),
             activate^#(N),
             activate^#(XS))
    , 3: activate^#(X) -> c_3()
    , 4: activate^#(n__natsFrom(X)) ->
         c_4(natsFrom^#(activate(X)), activate^#(X))
    , 5: activate^#(n__s(X)) -> c_5(s^#(activate(X)), activate^#(X))
    , 6: snd^#(pair(X, Y)) -> c_6(U51^#(tt(), Y))
    , 7: splitAt^#(0(), XS) -> c_7()
    , 8: natsFrom^#(N) -> c_27()
    , 9: natsFrom^#(X) -> c_28()
    , 10: s^#(X) -> c_30()
    , 11: U51^#(tt(), Y) ->
          c_16(U52^#(tt(), activate(Y)), activate^#(Y))
    , 12: U21^#(tt(), X) ->
          c_8(U22^#(tt(), activate(X)), activate^#(X))
    , 13: U22^#(tt(), X) -> c_9(activate^#(X))
    , 14: U31^#(tt(), N) ->
          c_10(U32^#(tt(), activate(N)), activate^#(N))
    , 15: U32^#(tt(), N) -> c_11(activate^#(N))
    , 16: U41^#(tt(), N, XS) ->
          c_12(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
    , 17: U42^#(tt(), N, XS) ->
          c_13(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
    , 18: head^#(cons(N, XS)) -> c_14(U31^#(tt(), N))
    , 19: afterNth^#(N, XS) -> c_15(U11^#(tt(), N, XS))
    , 20: U52^#(tt(), Y) -> c_17(activate^#(Y))
    , 21: U61^#(tt(), N, X, XS) ->
          c_18(U62^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
    , 22: U62^#(tt(), N, X, XS) ->
          c_19(U63^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
    , 23: U63^#(tt(), N, X, XS) ->
          c_20(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
               splitAt^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS),
               activate^#(X))
    , 24: U64^#(pair(YS, ZS), X) -> c_21(activate^#(X))
    , 25: U71^#(tt(), XS) ->
          c_22(U72^#(tt(), activate(XS)), activate^#(XS))
    , 26: U72^#(tt(), XS) -> c_23(activate^#(XS))
    , 27: U81^#(tt(), N, XS) ->
          c_24(U82^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
    , 28: U82^#(tt(), N, XS) ->
          c_25(fst^#(splitAt(activate(N), activate(XS))),
               splitAt^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
    , 29: fst^#(pair(X, Y)) -> c_26(U21^#(tt(), X))
    , 30: sel^#(N, XS) -> c_29(U41^#(tt(), N, XS))
    , 31: tail^#(cons(N, XS)) ->
          c_31(U71^#(tt(), activate(XS)), activate^#(XS))
    , 32: take^#(N, XS) -> c_32(U81^#(tt(), N, XS)) }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        splitAt^#(activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , activate^#(n__natsFrom(X)) ->
    c_4(natsFrom^#(activate(X)), activate^#(X))
  , activate^#(n__s(X)) -> c_5(s^#(activate(X)), activate^#(X))
  , snd^#(pair(X, Y)) -> c_6(U51^#(tt(), Y))
  , U51^#(tt(), Y) -> c_16(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_8(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_9(activate^#(X))
  , U31^#(tt(), N) -> c_10(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_11(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_12(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_13(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_14(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_15(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_17(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_18(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_19(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_20(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_21(activate^#(X))
  , U71^#(tt(), XS) ->
    c_22(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_23(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_24(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_25(fst^#(splitAt(activate(N), activate(XS))),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_26(U21^#(tt(), X))
  , sel^#(N, XS) -> c_29(U41^#(tt(), N, XS))
  , tail^#(cons(N, XS)) ->
    c_31(U71^#(tt(), activate(XS)), activate^#(XS))
  , take^#(N, XS) -> c_32(U81^#(tt(), N, XS)) }
Weak DPs:
  { activate^#(X) -> c_3()
  , splitAt^#(0(), XS) -> c_7()
  , natsFrom^#(N) -> c_27()
  , natsFrom^#(X) -> c_28()
  , s^#(X) -> c_30() }
Weak Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , U21(tt(), X) -> U22(tt(), activate(X))
  , U22(tt(), X) -> activate(X)
  , U31(tt(), N) -> U32(tt(), activate(N))
  , U32(tt(), N) -> activate(N)
  , U41(tt(), N, XS) -> U42(tt(), activate(N), activate(XS))
  , U42(tt(), N, XS) -> head(afterNth(activate(N), activate(XS)))
  , head(cons(N, XS)) -> U31(tt(), N)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , U61(tt(), N, X, XS) ->
    U62(tt(), activate(N), activate(X), activate(XS))
  , U62(tt(), N, X, XS) ->
    U63(tt(), activate(N), activate(X), activate(XS))
  , U63(tt(), N, X, XS) ->
    U64(splitAt(activate(N), activate(XS)), activate(X))
  , U64(pair(YS, ZS), X) -> pair(cons(activate(X), YS), ZS)
  , U71(tt(), XS) -> U72(tt(), activate(XS))
  , U72(tt(), XS) -> activate(XS)
  , U81(tt(), N, XS) -> U82(tt(), activate(N), activate(XS))
  , U82(tt(), N, XS) -> fst(splitAt(activate(N), activate(XS)))
  , fst(pair(X, Y)) -> U21(tt(), X)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , sel(N, XS) -> U41(tt(), N, XS)
  , s(X) -> n__s(X)
  , tail(cons(N, XS)) -> U71(tt(), activate(XS))
  , take(N, XS) -> U81(tt(), N, XS) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

The following weak DPs constitute a sub-graph of the DG that is
closed under successors. The DPs are removed.

{ activate^#(X) -> c_3()
, splitAt^#(0(), XS) -> c_7()
, natsFrom^#(N) -> c_27()
, natsFrom^#(X) -> c_28()
, s^#(X) -> c_30() }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        splitAt^#(activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , activate^#(n__natsFrom(X)) ->
    c_4(natsFrom^#(activate(X)), activate^#(X))
  , activate^#(n__s(X)) -> c_5(s^#(activate(X)), activate^#(X))
  , snd^#(pair(X, Y)) -> c_6(U51^#(tt(), Y))
  , U51^#(tt(), Y) -> c_16(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_8(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_9(activate^#(X))
  , U31^#(tt(), N) -> c_10(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_11(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_12(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_13(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_14(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_15(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_17(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_18(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_19(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_20(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_21(activate^#(X))
  , U71^#(tt(), XS) ->
    c_22(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_23(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_24(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_25(fst^#(splitAt(activate(N), activate(XS))),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_26(U21^#(tt(), X))
  , sel^#(N, XS) -> c_29(U41^#(tt(), N, XS))
  , tail^#(cons(N, XS)) ->
    c_31(U71^#(tt(), activate(XS)), activate^#(XS))
  , take^#(N, XS) -> c_32(U81^#(tt(), N, XS)) }
Weak Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , U21(tt(), X) -> U22(tt(), activate(X))
  , U22(tt(), X) -> activate(X)
  , U31(tt(), N) -> U32(tt(), activate(N))
  , U32(tt(), N) -> activate(N)
  , U41(tt(), N, XS) -> U42(tt(), activate(N), activate(XS))
  , U42(tt(), N, XS) -> head(afterNth(activate(N), activate(XS)))
  , head(cons(N, XS)) -> U31(tt(), N)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , U61(tt(), N, X, XS) ->
    U62(tt(), activate(N), activate(X), activate(XS))
  , U62(tt(), N, X, XS) ->
    U63(tt(), activate(N), activate(X), activate(XS))
  , U63(tt(), N, X, XS) ->
    U64(splitAt(activate(N), activate(XS)), activate(X))
  , U64(pair(YS, ZS), X) -> pair(cons(activate(X), YS), ZS)
  , U71(tt(), XS) -> U72(tt(), activate(XS))
  , U72(tt(), XS) -> activate(XS)
  , U81(tt(), N, XS) -> U82(tt(), activate(N), activate(XS))
  , U82(tt(), N, XS) -> fst(splitAt(activate(N), activate(XS)))
  , fst(pair(X, Y)) -> U21(tt(), X)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , sel(N, XS) -> U41(tt(), N, XS)
  , s(X) -> n__s(X)
  , tail(cons(N, XS)) -> U71(tt(), activate(XS))
  , take(N, XS) -> U81(tt(), N, XS) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

Due to missing edges in the dependency-graph, the right-hand sides
of following rules could be simplified:

  { U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        splitAt^#(activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , activate^#(n__natsFrom(X)) ->
    c_4(natsFrom^#(activate(X)), activate^#(X))
  , activate^#(n__s(X)) -> c_5(s^#(activate(X)), activate^#(X))
  , U63^#(tt(), N, X, XS) ->
    c_20(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U82^#(tt(), N, XS) ->
    c_25(fst^#(splitAt(activate(N), activate(XS))),
         splitAt^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS)) }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        activate^#(N),
        activate^#(XS))
  , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
  , activate^#(n__s(X)) -> c_4(activate^#(X))
  , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
  , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_8(activate^#(X))
  , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_10(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_11(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_12(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_15(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
  , U71^#(tt(), XS) ->
    c_20(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_21(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_22(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_23(fst^#(splitAt(activate(N), activate(XS))),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
  , sel^#(N, XS) -> c_25(U41^#(tt(), N, XS))
  , tail^#(cons(N, XS)) ->
    c_26(U71^#(tt(), activate(XS)), activate^#(XS))
  , take^#(N, XS) -> c_27(U81^#(tt(), N, XS)) }
Weak Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , U21(tt(), X) -> U22(tt(), activate(X))
  , U22(tt(), X) -> activate(X)
  , U31(tt(), N) -> U32(tt(), activate(N))
  , U32(tt(), N) -> activate(N)
  , U41(tt(), N, XS) -> U42(tt(), activate(N), activate(XS))
  , U42(tt(), N, XS) -> head(afterNth(activate(N), activate(XS)))
  , head(cons(N, XS)) -> U31(tt(), N)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , U61(tt(), N, X, XS) ->
    U62(tt(), activate(N), activate(X), activate(XS))
  , U62(tt(), N, X, XS) ->
    U63(tt(), activate(N), activate(X), activate(XS))
  , U63(tt(), N, X, XS) ->
    U64(splitAt(activate(N), activate(XS)), activate(X))
  , U64(pair(YS, ZS), X) -> pair(cons(activate(X), YS), ZS)
  , U71(tt(), XS) -> U72(tt(), activate(XS))
  , U72(tt(), XS) -> activate(XS)
  , U81(tt(), N, XS) -> U82(tt(), activate(N), activate(XS))
  , U82(tt(), N, XS) -> fst(splitAt(activate(N), activate(XS)))
  , fst(pair(X, Y)) -> U21(tt(), X)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , sel(N, XS) -> U41(tt(), N, XS)
  , s(X) -> n__s(X)
  , tail(cons(N, XS)) -> U71(tt(), activate(XS))
  , take(N, XS) -> U81(tt(), N, XS) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

We replace rewrite rules by usable rules:

  Weak Usable Rules:
    { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
    , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
    , activate(X) -> X
    , activate(n__natsFrom(X)) -> natsFrom(activate(X))
    , activate(n__s(X)) -> s(activate(X))
    , snd(pair(X, Y)) -> U51(tt(), Y)
    , splitAt(0(), XS) -> pair(nil(), XS)
    , afterNth(N, XS) -> U11(tt(), N, XS)
    , U51(tt(), Y) -> U52(tt(), activate(Y))
    , U52(tt(), Y) -> activate(Y)
    , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
    , natsFrom(X) -> n__natsFrom(X)
    , s(X) -> n__s(X) }

We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        activate^#(N),
        activate^#(XS))
  , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
  , activate^#(n__s(X)) -> c_4(activate^#(X))
  , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
  , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_8(activate^#(X))
  , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_10(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_11(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_12(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_15(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
  , U71^#(tt(), XS) ->
    c_20(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_21(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_22(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_23(fst^#(splitAt(activate(N), activate(XS))),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
  , sel^#(N, XS) -> c_25(U41^#(tt(), N, XS))
  , tail^#(cons(N, XS)) ->
    c_26(U71^#(tt(), activate(XS)), activate^#(XS))
  , take^#(N, XS) -> c_27(U81^#(tt(), N, XS)) }
Weak Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , s(X) -> n__s(X) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

Consider the dependency graph

  1: U11^#(tt(), N, XS) ->
     c_1(U12^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_1 U12^#(tt(), N, XS) ->
           c_2(snd^#(splitAt(activate(N), activate(XS))),
               activate^#(N),
               activate^#(XS)) :2
  
  2: U12^#(tt(), N, XS) ->
     c_2(snd^#(splitAt(activate(N), activate(XS))),
         activate^#(N),
         activate^#(XS))
     -->_1 snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y)) :5
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  3: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  4: activate^#(n__s(X)) -> c_4(activate^#(X))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  5: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     -->_1 U51^#(tt(), Y) ->
           c_6(U52^#(tt(), activate(Y)), activate^#(Y)) :6
  
  6: U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     -->_1 U52^#(tt(), Y) -> c_15(activate^#(Y)) :15
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  7: U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     -->_1 U22^#(tt(), X) -> c_8(activate^#(X)) :8
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  8: U22^#(tt(), X) -> c_8(activate^#(X))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  9: U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     -->_1 U32^#(tt(), N) -> c_10(activate^#(N)) :10
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  10: U32^#(tt(), N) -> c_10(activate^#(N))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  11: U41^#(tt(), N, XS) ->
      c_11(U42^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     -->_1 U42^#(tt(), N, XS) ->
           c_12(head^#(afterNth(activate(N), activate(XS))),
                afterNth^#(activate(N), activate(XS)),
                activate^#(N),
                activate^#(XS)) :12
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  12: U42^#(tt(), N, XS) ->
      c_12(head^#(afterNth(activate(N), activate(XS))),
           afterNth^#(activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     -->_2 afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) :14
     -->_1 head^#(cons(N, XS)) -> c_13(U31^#(tt(), N)) :13
     -->_4 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_4 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  13: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     -->_1 U31^#(tt(), N) ->
           c_9(U32^#(tt(), activate(N)), activate^#(N)) :9
  
  14: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
     -->_1 U11^#(tt(), N, XS) ->
           c_1(U12^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS)) :1
  
  15: U52^#(tt(), Y) -> c_15(activate^#(Y))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  16: U61^#(tt(), N, X, XS) ->
      c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
           activate^#(N),
           activate^#(X),
           activate^#(XS))
     -->_1 U62^#(tt(), N, X, XS) ->
           c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                activate^#(N),
                activate^#(X),
                activate^#(XS)) :17
     -->_4 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_4 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  17: U62^#(tt(), N, X, XS) ->
      c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
           activate^#(N),
           activate^#(X),
           activate^#(XS))
     -->_1 U63^#(tt(), N, X, XS) ->
           c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                activate^#(N),
                activate^#(XS),
                activate^#(X)) :18
     -->_4 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_4 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  18: U63^#(tt(), N, X, XS) ->
      c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
           activate^#(N),
           activate^#(XS),
           activate^#(X))
     -->_1 U64^#(pair(YS, ZS), X) -> c_19(activate^#(X)) :19
     -->_4 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_4 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  19: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  20: U71^#(tt(), XS) ->
      c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     -->_1 U72^#(tt(), XS) -> c_21(activate^#(XS)) :21
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  21: U72^#(tt(), XS) -> c_21(activate^#(XS))
     -->_1 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_1 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  22: U81^#(tt(), N, XS) ->
      c_22(U82^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     -->_1 U82^#(tt(), N, XS) ->
           c_23(fst^#(splitAt(activate(N), activate(XS))),
                activate^#(N),
                activate^#(XS)) :23
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  23: U82^#(tt(), N, XS) ->
      c_23(fst^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     -->_1 fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X)) :24
     -->_3 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_3 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  24: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     -->_1 U21^#(tt(), X) ->
           c_7(U22^#(tt(), activate(X)), activate^#(X)) :7
  
  25: sel^#(N, XS) -> c_25(U41^#(tt(), N, XS))
     -->_1 U41^#(tt(), N, XS) ->
           c_11(U42^#(tt(), activate(N), activate(XS)),
                activate^#(N),
                activate^#(XS)) :11
  
  26: tail^#(cons(N, XS)) ->
      c_26(U71^#(tt(), activate(XS)), activate^#(XS))
     -->_1 U71^#(tt(), XS) ->
           c_20(U72^#(tt(), activate(XS)), activate^#(XS)) :20
     -->_2 activate^#(n__s(X)) -> c_4(activate^#(X)) :4
     -->_2 activate^#(n__natsFrom(X)) -> c_3(activate^#(X)) :3
  
  27: take^#(N, XS) -> c_27(U81^#(tt(), N, XS))
     -->_1 U81^#(tt(), N, XS) ->
           c_22(U82^#(tt(), activate(N), activate(XS)),
                activate^#(N),
                activate^#(XS)) :22
  

Following roots of the dependency graph are removed, as the
considered set of starting terms is closed under reduction with
respect to these rules (modulo compound contexts).

  { sel^#(N, XS) -> c_25(U41^#(tt(), N, XS))
  , take^#(N, XS) -> c_27(U81^#(tt(), N, XS)) }


We are left with following problem, upon which TcT provides the
certificate YES(O(1),POLY).

Strict DPs:
  { U11^#(tt(), N, XS) ->
    c_1(U12^#(tt(), activate(N), activate(XS)),
        activate^#(N),
        activate^#(XS))
  , U12^#(tt(), N, XS) ->
    c_2(snd^#(splitAt(activate(N), activate(XS))),
        activate^#(N),
        activate^#(XS))
  , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
  , activate^#(n__s(X)) -> c_4(activate^#(X))
  , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
  , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
  , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
  , U22^#(tt(), X) -> c_8(activate^#(X))
  , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
  , U32^#(tt(), N) -> c_10(activate^#(N))
  , U41^#(tt(), N, XS) ->
    c_11(U42^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U42^#(tt(), N, XS) ->
    c_12(head^#(afterNth(activate(N), activate(XS))),
         afterNth^#(activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
  , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
  , U52^#(tt(), Y) -> c_15(activate^#(Y))
  , U61^#(tt(), N, X, XS) ->
    c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U62^#(tt(), N, X, XS) ->
    c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
         activate^#(N),
         activate^#(X),
         activate^#(XS))
  , U63^#(tt(), N, X, XS) ->
    c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
         activate^#(N),
         activate^#(XS),
         activate^#(X))
  , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
  , U71^#(tt(), XS) ->
    c_20(U72^#(tt(), activate(XS)), activate^#(XS))
  , U72^#(tt(), XS) -> c_21(activate^#(XS))
  , U81^#(tt(), N, XS) ->
    c_22(U82^#(tt(), activate(N), activate(XS)),
         activate^#(N),
         activate^#(XS))
  , U82^#(tt(), N, XS) ->
    c_23(fst^#(splitAt(activate(N), activate(XS))),
         activate^#(N),
         activate^#(XS))
  , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
  , tail^#(cons(N, XS)) ->
    c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
Weak Trs:
  { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
  , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
  , activate(X) -> X
  , activate(n__natsFrom(X)) -> natsFrom(activate(X))
  , activate(n__s(X)) -> s(activate(X))
  , snd(pair(X, Y)) -> U51(tt(), Y)
  , splitAt(0(), XS) -> pair(nil(), XS)
  , afterNth(N, XS) -> U11(tt(), N, XS)
  , U51(tt(), Y) -> U52(tt(), activate(Y))
  , U52(tt(), Y) -> activate(Y)
  , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
  , natsFrom(X) -> n__natsFrom(X)
  , s(X) -> n__s(X) }
Obligation:
  innermost runtime complexity
Answer:
  YES(O(1),POLY)

We analyse the complexity of following sub-problems (R) and (S).
Problem (S) is obtained from the input problem by shifting strict
rules from (R) into the weak component:

Problem (R):
------------
  Strict DPs:
    { U11^#(tt(), N, XS) ->
      c_1(U12^#(tt(), activate(N), activate(XS)),
          activate^#(N),
          activate^#(XS))
    , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
    , activate^#(n__s(X)) -> c_4(activate^#(X))
    , U41^#(tt(), N, XS) ->
      c_11(U42^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
    , U42^#(tt(), N, XS) ->
      c_12(head^#(afterNth(activate(N), activate(XS))),
           afterNth^#(activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
    , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
  Weak DPs:
    { U12^#(tt(), N, XS) ->
      c_2(snd^#(splitAt(activate(N), activate(XS))),
          activate^#(N),
          activate^#(XS))
    , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
    , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
    , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
    , U22^#(tt(), X) -> c_8(activate^#(X))
    , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
    , U32^#(tt(), N) -> c_10(activate^#(N))
    , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
    , U52^#(tt(), Y) -> c_15(activate^#(Y))
    , U61^#(tt(), N, X, XS) ->
      c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
           activate^#(N),
           activate^#(X),
           activate^#(XS))
    , U62^#(tt(), N, X, XS) ->
      c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
           activate^#(N),
           activate^#(X),
           activate^#(XS))
    , U63^#(tt(), N, X, XS) ->
      c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
           activate^#(N),
           activate^#(XS),
           activate^#(X))
    , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
    , U71^#(tt(), XS) ->
      c_20(U72^#(tt(), activate(XS)), activate^#(XS))
    , U72^#(tt(), XS) -> c_21(activate^#(XS))
    , U81^#(tt(), N, XS) ->
      c_22(U82^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
    , U82^#(tt(), N, XS) ->
      c_23(fst^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
    , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
    , tail^#(cons(N, XS)) ->
      c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
  Weak Trs:
    { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
    , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
    , activate(X) -> X
    , activate(n__natsFrom(X)) -> natsFrom(activate(X))
    , activate(n__s(X)) -> s(activate(X))
    , snd(pair(X, Y)) -> U51(tt(), Y)
    , splitAt(0(), XS) -> pair(nil(), XS)
    , afterNth(N, XS) -> U11(tt(), N, XS)
    , U51(tt(), Y) -> U52(tt(), activate(Y))
    , U52(tt(), Y) -> activate(Y)
    , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
    , natsFrom(X) -> n__natsFrom(X)
    , s(X) -> n__s(X) }
  StartTerms: basic terms
  Strategy: innermost

Problem (S):
------------
  Strict DPs:
    { U12^#(tt(), N, XS) ->
      c_2(snd^#(splitAt(activate(N), activate(XS))),
          activate^#(N),
          activate^#(XS))
    , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
    , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
    , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
    , U22^#(tt(), X) -> c_8(activate^#(X))
    , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
    , U32^#(tt(), N) -> c_10(activate^#(N))
    , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
    , U52^#(tt(), Y) -> c_15(activate^#(Y))
    , U61^#(tt(), N, X, XS) ->
      c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
           activate^#(N),
           activate^#(X),
           activate^#(XS))
    , U62^#(tt(), N, X, XS) ->
      c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
           activate^#(N),
           activate^#(X),
           activate^#(XS))
    , U63^#(tt(), N, X, XS) ->
      c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
           activate^#(N),
           activate^#(XS),
           activate^#(X))
    , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
    , U71^#(tt(), XS) ->
      c_20(U72^#(tt(), activate(XS)), activate^#(XS))
    , U72^#(tt(), XS) -> c_21(activate^#(XS))
    , U81^#(tt(), N, XS) ->
      c_22(U82^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
    , U82^#(tt(), N, XS) ->
      c_23(fst^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
    , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
    , tail^#(cons(N, XS)) ->
      c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
  Weak DPs:
    { U11^#(tt(), N, XS) ->
      c_1(U12^#(tt(), activate(N), activate(XS)),
          activate^#(N),
          activate^#(XS))
    , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
    , activate^#(n__s(X)) -> c_4(activate^#(X))
    , U41^#(tt(), N, XS) ->
      c_11(U42^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
    , U42^#(tt(), N, XS) ->
      c_12(head^#(afterNth(activate(N), activate(XS))),
           afterNth^#(activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
    , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
  Weak Trs:
    { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
    , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
    , activate(X) -> X
    , activate(n__natsFrom(X)) -> natsFrom(activate(X))
    , activate(n__s(X)) -> s(activate(X))
    , snd(pair(X, Y)) -> U51(tt(), Y)
    , splitAt(0(), XS) -> pair(nil(), XS)
    , afterNth(N, XS) -> U11(tt(), N, XS)
    , U51(tt(), Y) -> U52(tt(), activate(Y))
    , U52(tt(), Y) -> activate(Y)
    , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
    , natsFrom(X) -> n__natsFrom(X)
    , s(X) -> n__s(X) }
  StartTerms: basic terms
  Strategy: innermost

Overall, the transformation results in the following sub-problem(s):

Generated new problems:
-----------------------
R) Strict DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
   Weak DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   StartTerms: basic terms
   Strategy: innermost
   
   This problem was proven YES(O(1),POLY).

S) Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   StartTerms: basic terms
   Strategy: innermost
   
   This problem was proven YES(O(1),O(1)).


Proofs for generated problems:
------------------------------
R) We are left with following problem, upon which TcT provides the
   certificate YES(O(1),POLY).
   
   Strict DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
   Weak DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),POLY)
   
   We analyse the complexity of following sub-problems (R) and (S).
   Problem (S) is obtained from the input problem by shifting strict
   rules from (R) into the weak component:
   
   Problem (R):
   ------------
     Strict DPs:
       { activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , activate^#(n__s(X)) -> c_4(activate^#(X))
       , U41^#(tt(), N, XS) ->
         c_11(U42^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
       , U42^#(tt(), N, XS) ->
         c_12(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS)) }
     Weak DPs:
       { U11^#(tt(), N, XS) ->
         c_1(U12^#(tt(), activate(N), activate(XS)),
             activate^#(N),
             activate^#(XS))
       , U12^#(tt(), N, XS) ->
         c_2(snd^#(splitAt(activate(N), activate(XS))),
             activate^#(N),
             activate^#(XS))
       , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
       , U22^#(tt(), X) -> c_8(activate^#(X))
       , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
       , U32^#(tt(), N) -> c_10(activate^#(N))
       , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
       , U52^#(tt(), Y) -> c_15(activate^#(Y))
       , U61^#(tt(), N, X, XS) ->
         c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
              activate^#(N),
              activate^#(X),
              activate^#(XS))
       , U62^#(tt(), N, X, XS) ->
         c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
              activate^#(N),
              activate^#(X),
              activate^#(XS))
       , U63^#(tt(), N, X, XS) ->
         c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
              activate^#(N),
              activate^#(XS),
              activate^#(X))
       , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , U71^#(tt(), XS) ->
         c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , U72^#(tt(), XS) -> c_21(activate^#(XS))
       , U81^#(tt(), N, XS) ->
         c_22(U82^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
       , U82^#(tt(), N, XS) ->
         c_23(fst^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
       , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , tail^#(cons(N, XS)) ->
         c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
     Weak Trs:
       { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
       , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
       , activate(X) -> X
       , activate(n__natsFrom(X)) -> natsFrom(activate(X))
       , activate(n__s(X)) -> s(activate(X))
       , snd(pair(X, Y)) -> U51(tt(), Y)
       , splitAt(0(), XS) -> pair(nil(), XS)
       , afterNth(N, XS) -> U11(tt(), N, XS)
       , U51(tt(), Y) -> U52(tt(), activate(Y))
       , U52(tt(), Y) -> activate(Y)
       , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
       , natsFrom(X) -> n__natsFrom(X)
       , s(X) -> n__s(X) }
     StartTerms: basic terms
     Strategy: innermost
   
   Problem (S):
   ------------
     Strict DPs:
       { U11^#(tt(), N, XS) ->
         c_1(U12^#(tt(), activate(N), activate(XS)),
             activate^#(N),
             activate^#(XS))
       , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
     Weak DPs:
       { U12^#(tt(), N, XS) ->
         c_2(snd^#(splitAt(activate(N), activate(XS))),
             activate^#(N),
             activate^#(XS))
       , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , activate^#(n__s(X)) -> c_4(activate^#(X))
       , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
       , U22^#(tt(), X) -> c_8(activate^#(X))
       , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
       , U32^#(tt(), N) -> c_10(activate^#(N))
       , U41^#(tt(), N, XS) ->
         c_11(U42^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
       , U42^#(tt(), N, XS) ->
         c_12(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
       , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , U52^#(tt(), Y) -> c_15(activate^#(Y))
       , U61^#(tt(), N, X, XS) ->
         c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
              activate^#(N),
              activate^#(X),
              activate^#(XS))
       , U62^#(tt(), N, X, XS) ->
         c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
              activate^#(N),
              activate^#(X),
              activate^#(XS))
       , U63^#(tt(), N, X, XS) ->
         c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
              activate^#(N),
              activate^#(XS),
              activate^#(X))
       , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , U71^#(tt(), XS) ->
         c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , U72^#(tt(), XS) -> c_21(activate^#(XS))
       , U81^#(tt(), N, XS) ->
         c_22(U82^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
       , U82^#(tt(), N, XS) ->
         c_23(fst^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
       , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , tail^#(cons(N, XS)) ->
         c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
     Weak Trs:
       { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
       , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
       , activate(X) -> X
       , activate(n__natsFrom(X)) -> natsFrom(activate(X))
       , activate(n__s(X)) -> s(activate(X))
       , snd(pair(X, Y)) -> U51(tt(), Y)
       , splitAt(0(), XS) -> pair(nil(), XS)
       , afterNth(N, XS) -> U11(tt(), N, XS)
       , U51(tt(), Y) -> U52(tt(), activate(Y))
       , U52(tt(), Y) -> activate(Y)
       , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
       , natsFrom(X) -> n__natsFrom(X)
       , s(X) -> n__s(X) }
     StartTerms: basic terms
     Strategy: innermost
   
   Overall, the transformation results in the following sub-problem(s):
   
   Generated new problems:
   -----------------------
   R) Strict DPs:
        { activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
        , activate^#(n__s(X)) -> c_4(activate^#(X))
        , U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS)) }
      Weak DPs:
        { U11^#(tt(), N, XS) ->
          c_1(U12^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
        , U12^#(tt(), N, XS) ->
          c_2(snd^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
        , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
        , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
        , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
        , U22^#(tt(), X) -> c_8(activate^#(X))
        , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
        , U32^#(tt(), N) -> c_10(activate^#(N))
        , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
        , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
        , U52^#(tt(), Y) -> c_15(activate^#(Y))
        , U61^#(tt(), N, X, XS) ->
          c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U62^#(tt(), N, X, XS) ->
          c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U63^#(tt(), N, X, XS) ->
          c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
               activate^#(N),
               activate^#(XS),
               activate^#(X))
        , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
        , U71^#(tt(), XS) ->
          c_20(U72^#(tt(), activate(XS)), activate^#(XS))
        , U72^#(tt(), XS) -> c_21(activate^#(XS))
        , U81^#(tt(), N, XS) ->
          c_22(U82^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U82^#(tt(), N, XS) ->
          c_23(fst^#(splitAt(activate(N), activate(XS))),
               activate^#(N),
               activate^#(XS))
        , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
        , tail^#(cons(N, XS)) ->
          c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      StartTerms: basic terms
      Strategy: innermost
      
      This problem was proven YES(?,POLY).
   
   S) Strict DPs:
        { U11^#(tt(), N, XS) ->
          c_1(U12^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
        , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
      Weak DPs:
        { U12^#(tt(), N, XS) ->
          c_2(snd^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
        , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
        , activate^#(n__s(X)) -> c_4(activate^#(X))
        , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
        , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
        , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
        , U22^#(tt(), X) -> c_8(activate^#(X))
        , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
        , U32^#(tt(), N) -> c_10(activate^#(N))
        , U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
        , U52^#(tt(), Y) -> c_15(activate^#(Y))
        , U61^#(tt(), N, X, XS) ->
          c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U62^#(tt(), N, X, XS) ->
          c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U63^#(tt(), N, X, XS) ->
          c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
               activate^#(N),
               activate^#(XS),
               activate^#(X))
        , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
        , U71^#(tt(), XS) ->
          c_20(U72^#(tt(), activate(XS)), activate^#(XS))
        , U72^#(tt(), XS) -> c_21(activate^#(XS))
        , U81^#(tt(), N, XS) ->
          c_22(U82^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U82^#(tt(), N, XS) ->
          c_23(fst^#(splitAt(activate(N), activate(XS))),
               activate^#(N),
               activate^#(XS))
        , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
        , tail^#(cons(N, XS)) ->
          c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      StartTerms: basic terms
      Strategy: innermost
      
      This problem was proven YES(O(1),O(1)).
   
   
   Proofs for generated problems:
   ------------------------------
   R) We are left with following problem, upon which TcT provides the
      certificate YES(?,POLY).
      
      Strict DPs:
        { activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
        , activate^#(n__s(X)) -> c_4(activate^#(X))
        , U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS)) }
      Weak DPs:
        { U11^#(tt(), N, XS) ->
          c_1(U12^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
        , U12^#(tt(), N, XS) ->
          c_2(snd^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
        , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
        , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
        , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
        , U22^#(tt(), X) -> c_8(activate^#(X))
        , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
        , U32^#(tt(), N) -> c_10(activate^#(N))
        , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
        , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
        , U52^#(tt(), Y) -> c_15(activate^#(Y))
        , U61^#(tt(), N, X, XS) ->
          c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U62^#(tt(), N, X, XS) ->
          c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U63^#(tt(), N, X, XS) ->
          c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
               activate^#(N),
               activate^#(XS),
               activate^#(X))
        , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
        , U71^#(tt(), XS) ->
          c_20(U72^#(tt(), activate(XS)), activate^#(XS))
        , U72^#(tt(), XS) -> c_21(activate^#(XS))
        , U81^#(tt(), N, XS) ->
          c_22(U82^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U82^#(tt(), N, XS) ->
          c_23(fst^#(splitAt(activate(N), activate(XS))),
               activate^#(N),
               activate^#(XS))
        , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
        , tail^#(cons(N, XS)) ->
          c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(?,POLY)
      
      The input was oriented with the instance of 'Polynomial Path Order
      (PS)' as induced by the safe mapping
      
       safe(U11) = {1}, safe(tt) = {}, safe(U12) = {1},
       safe(activate) = {}, safe(snd) = {}, safe(splitAt) = {1, 2},
       safe(afterNth) = {}, safe(U51) = {}, safe(U52) = {},
       safe(pair) = {1, 2}, safe(cons) = {1, 2}, safe(natsFrom) = {1},
       safe(n__natsFrom) = {1}, safe(n__s) = {1}, safe(0) = {},
       safe(nil) = {}, safe(s) = {1}, safe(U11^#) = {}, safe(U12^#) = {},
       safe(activate^#) = {}, safe(snd^#) = {}, safe(U51^#) = {},
       safe(U21^#) = {1}, safe(U22^#) = {}, safe(U31^#) = {},
       safe(U32^#) = {}, safe(U41^#) = {}, safe(U42^#) = {},
       safe(head^#) = {}, safe(afterNth^#) = {}, safe(U52^#) = {},
       safe(U61^#) = {}, safe(U62^#) = {}, safe(U63^#) = {},
       safe(U64^#) = {}, safe(U71^#) = {}, safe(U72^#) = {},
       safe(U81^#) = {}, safe(U82^#) = {}, safe(fst^#) = {},
       safe(tail^#) = {}, safe(c_1) = {}, safe(c_2) = {}, safe(c_3) = {},
       safe(c_4) = {}, safe(c_5) = {}, safe(c_6) = {}, safe(c_7) = {},
       safe(c_8) = {}, safe(c_9) = {}, safe(c_10) = {}, safe(c_11) = {},
       safe(c_12) = {}, safe(c_13) = {}, safe(c_14) = {}, safe(c_15) = {},
       safe(c_16) = {}, safe(c_17) = {}, safe(c_18) = {}, safe(c_19) = {},
       safe(c_20) = {}, safe(c_21) = {}, safe(c_22) = {}, safe(c_23) = {},
       safe(c_24) = {}, safe(c_26) = {}
      
      and precedence
      
       U11 > U12, U11 > activate, U12 > activate, U12 > snd,
       U12 > splitAt, activate > natsFrom, activate > s, snd > U51,
       afterNth > U11, U51 > activate, U51 > U52, U11^# > activate,
       U11^# > U12^#, U11^# > activate^#, U12^# > activate,
       U12^# > splitAt, U12^# > activate^#, U12^# > snd^#, snd^# > U51^#,
       U51^# > activate, U51^# > activate^#, U51^# > U52^#,
       U21^# > activate, U21^# > activate^#, U21^# > U22^#,
       U31^# > activate, U31^# > activate^#, U31^# > U32^#,
       U41^# > activate, U41^# > activate^#, U41^# > U42^#,
       U42^# > activate, U42^# > afterNth, U42^# > activate^#,
       U42^# > head^#, U42^# > afterNth^#, afterNth^# > U11^#,
       U61^# > activate, U61^# > activate^#, U61^# > U62^#,
       U62^# > activate, U62^# > activate^#, U62^# > U63^#,
       U63^# > activate, U63^# > splitAt, U63^# > activate^#,
       U63^# > U64^#, U64^# > activate^#, U71^# > activate,
       U71^# > activate^#, U71^# > U72^#, U72^# > activate^#,
       U81^# > activate, U81^# > activate^#, U81^# > U82^#,
       U82^# > activate, U82^# > splitAt, U82^# > activate^#,
       U82^# > fst^#, tail^# > activate, tail^# > activate^#,
       tail^# > U71^#, activate ~ U52, activate^# ~ U22^#,
       activate^# ~ U32^#, activate^# ~ U52^#, U21^# ~ fst^#,
       U31^# ~ head^# .
      
      Following symbols are considered recursive:
      
       {U11, U12, activate, snd, afterNth, U51, U52, U11^#, activate^#,
        snd^#, U51^#, U21^#, U22^#, U31^#, U32^#, U41^#, U42^#, head^#,
        U52^#, U61^#, U62^#, U63^#, U64^#, U71^#, U72^#, U81^#, U82^#,
        fst^#, tail^#}
      
      The recursion depth is 8.
      
      Further, following argument filtering is employed:
      
       pi(U11) = [1, 3], pi(tt) = [], pi(U12) = [3], pi(activate) = [1],
       pi(snd) = [1], pi(splitAt) = [2], pi(afterNth) = [1, 2],
       pi(U51) = [2], pi(U52) = [2], pi(pair) = [1, 2], pi(cons) = [1, 2],
       pi(natsFrom) = [1], pi(n__natsFrom) = [1], pi(n__s) = [1],
       pi(0) = [], pi(nil) = [], pi(s) = [1], pi(U11^#) = [2, 3],
       pi(U12^#) = [2, 3], pi(activate^#) = [1], pi(snd^#) = [1],
       pi(U51^#) = [2], pi(U21^#) = [1, 2], pi(U22^#) = [1, 2],
       pi(U31^#) = [2], pi(U32^#) = [1, 2], pi(U41^#) = [2, 3],
       pi(U42^#) = [2, 3], pi(head^#) = [1], pi(afterNth^#) = [1, 2],
       pi(U52^#) = [1, 2], pi(U61^#) = [2, 3, 4],
       pi(U62^#) = [1, 2, 3, 4], pi(U63^#) = [2, 3, 4], pi(U64^#) = [2],
       pi(U71^#) = [1, 2], pi(U72^#) = [1, 2], pi(U81^#) = [2, 3],
       pi(U82^#) = [2, 3], pi(fst^#) = [1], pi(tail^#) = [1],
       pi(c_1) = [1, 2, 3], pi(c_2) = [1, 2, 3], pi(c_3) = [1],
       pi(c_4) = [1], pi(c_5) = [1], pi(c_6) = [1, 2], pi(c_7) = [1, 2],
       pi(c_8) = [1], pi(c_9) = [1, 2], pi(c_10) = [1],
       pi(c_11) = [1, 2, 3], pi(c_12) = [1, 2, 3, 4], pi(c_13) = [1],
       pi(c_14) = [1], pi(c_15) = [1], pi(c_16) = [1, 2, 3, 4],
       pi(c_17) = [1, 2, 3, 4], pi(c_18) = [1, 2, 3, 4], pi(c_19) = [1],
       pi(c_20) = [1, 2], pi(c_21) = [1], pi(c_22) = [1, 2, 3],
       pi(c_23) = [1, 2, 3], pi(c_24) = [1], pi(c_26) = [1, 2]
      
      Usable defined function symbols are a subset of:
      
       {U11, U12, activate, snd, splitAt, afterNth, U51, U52, natsFrom, s,
        U11^#, U12^#, activate^#, snd^#, U51^#, U21^#, U22^#, U31^#, U32^#,
        U41^#, U42^#, head^#, afterNth^#, U52^#, U61^#, U62^#, U63^#,
        U64^#, U71^#, U72^#, U81^#, U82^#, fst^#, tail^#}
      
      For your convenience, here are the satisfied ordering constraints:
      
                pi(U11^#(tt(), N, XS)) =  U11^#(N,  XS;)                                                   
                                       >  c_1(U12^#(activate(N;),  activate(XS;);),                        
                                              activate^#(N;),                                              
                                              activate^#(XS;);)                                            
                                       =  pi(c_1(U12^#(tt(), activate(N), activate(XS)),                   
                                                 activate^#(N),                                            
                                                 activate^#(XS)))                                          
                                                                                                           
                pi(U12^#(tt(), N, XS)) =  U12^#(N,  XS;)                                                   
                                       >  c_2(snd^#(splitAt(; activate(XS;));),                            
                                              activate^#(N;),                                              
                                              activate^#(XS;);)                                            
                                       =  pi(c_2(snd^#(splitAt(activate(N), activate(XS))),                
                                                 activate^#(N),                                            
                                                 activate^#(XS)))                                          
                                                                                                           
        pi(activate^#(n__natsFrom(X))) =  activate^#(n__natsFrom(; X);)                                    
                                       >  c_3(activate^#(X;);)                                             
                                       =  pi(c_3(activate^#(X)))                                           
                                                                                                           
               pi(activate^#(n__s(X))) =  activate^#(n__s(; X);)                                           
                                       >  c_4(activate^#(X;);)                                             
                                       =  pi(c_4(activate^#(X)))                                           
                                                                                                           
                 pi(snd^#(pair(X, Y))) =  snd^#(pair(; X,  Y);)                                            
                                       >  c_5(U51^#(Y;);)                                                  
                                       =  pi(c_5(U51^#(tt(), Y)))                                          
                                                                                                           
                    pi(U51^#(tt(), Y)) =  U51^#(Y;)                                                        
                                       >  c_6(U52^#(tt(),  activate(Y;);),  activate^#(Y;);)               
                                       =  pi(c_6(U52^#(tt(), activate(Y)), activate^#(Y)))                 
                                                                                                           
                    pi(U21^#(tt(), X)) =  U21^#(X; tt())                                                   
                                       >  c_7(U22^#(tt(),  activate(X;);),  activate^#(X;);)               
                                       =  pi(c_7(U22^#(tt(), activate(X)), activate^#(X)))                 
                                                                                                           
                    pi(U22^#(tt(), X)) =  U22^#(tt(),  X;)                                                 
                                       >  c_8(activate^#(X;);)                                             
                                       =  pi(c_8(activate^#(X)))                                           
                                                                                                           
                    pi(U31^#(tt(), N)) =  U31^#(N;)                                                        
                                       >  c_9(U32^#(tt(),  activate(N;);),  activate^#(N;);)               
                                       =  pi(c_9(U32^#(tt(), activate(N)), activate^#(N)))                 
                                                                                                           
                    pi(U32^#(tt(), N)) =  U32^#(tt(),  N;)                                                 
                                       >  c_10(activate^#(N;);)                                            
                                       =  pi(c_10(activate^#(N)))                                          
                                                                                                           
                pi(U41^#(tt(), N, XS)) =  U41^#(N,  XS;)                                                   
                                       >  c_11(U42^#(activate(N;),  activate(XS;);),                       
                                               activate^#(N;),                                             
                                               activate^#(XS;);)                                           
                                       =  pi(c_11(U42^#(tt(), activate(N), activate(XS)),                  
                                                  activate^#(N),                                           
                                                  activate^#(XS)))                                         
                                                                                                           
                pi(U42^#(tt(), N, XS)) =  U42^#(N,  XS;)                                                   
                                       >  c_12(head^#(afterNth(activate(N;),  activate(XS;););),           
                                               afterNth^#(activate(N;),  activate(XS;);),                  
                                               activate^#(N;),                                             
                                               activate^#(XS;);)                                           
                                       =  pi(c_12(head^#(afterNth(activate(N), activate(XS))),             
                                                  afterNth^#(activate(N), activate(XS)),                   
                                                  activate^#(N),                                           
                                                  activate^#(XS)))                                         
                                                                                                           
               pi(head^#(cons(N, XS))) =  head^#(cons(; N,  XS);)                                          
                                       >  c_13(U31^#(N;);)                                                 
                                       =  pi(c_13(U31^#(tt(), N)))                                         
                                                                                                           
                 pi(afterNth^#(N, XS)) =  afterNth^#(N,  XS;)                                              
                                       >  c_14(U11^#(N,  XS;);)                                            
                                       =  pi(c_14(U11^#(tt(), N, XS)))                                     
                                                                                                           
                    pi(U52^#(tt(), Y)) =  U52^#(tt(),  Y;)                                                 
                                       >  c_15(activate^#(Y;);)                                            
                                       =  pi(c_15(activate^#(Y)))                                          
                                                                                                           
             pi(U61^#(tt(), N, X, XS)) =  U61^#(N,  X,  XS;)                                               
                                       >  c_16(U62^#(tt(),  activate(N;),  activate(X;),  activate(XS;);), 
                                               activate^#(N;),                                             
                                               activate^#(X;),                                             
                                               activate^#(XS;);)                                           
                                       =  pi(c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),     
                                                  activate^#(N),                                           
                                                  activate^#(X),                                           
                                                  activate^#(XS)))                                         
                                                                                                           
             pi(U62^#(tt(), N, X, XS)) =  U62^#(tt(),  N,  X,  XS;)                                        
                                       >  c_17(U63^#(activate(N;),  activate(X;),  activate(XS;);),        
                                               activate^#(N;),                                             
                                               activate^#(X;),                                             
                                               activate^#(XS;);)                                           
                                       =  pi(c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),     
                                                  activate^#(N),                                           
                                                  activate^#(X),                                           
                                                  activate^#(XS)))                                         
                                                                                                           
             pi(U63^#(tt(), N, X, XS)) =  U63^#(N,  X,  XS;)                                               
                                       >  c_18(U64^#(activate(X;);),                                       
                                               activate^#(N;),                                             
                                               activate^#(XS;),                                            
                                               activate^#(X;);)                                            
                                       =  pi(c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),  
                                                  activate^#(N),                                           
                                                  activate^#(XS),                                          
                                                  activate^#(X)))                                          
                                                                                                           
            pi(U64^#(pair(YS, ZS), X)) =  U64^#(X;)                                                        
                                       >  c_19(activate^#(X;);)                                            
                                       =  pi(c_19(activate^#(X)))                                          
                                                                                                           
                   pi(U71^#(tt(), XS)) =  U71^#(tt(),  XS;)                                                
                                       >  c_20(U72^#(tt(),  activate(XS;);),  activate^#(XS;);)            
                                       =  pi(c_20(U72^#(tt(), activate(XS)), activate^#(XS)))              
                                                                                                           
                   pi(U72^#(tt(), XS)) =  U72^#(tt(),  XS;)                                                
                                       >  c_21(activate^#(XS;);)                                           
                                       =  pi(c_21(activate^#(XS)))                                         
                                                                                                           
                pi(U81^#(tt(), N, XS)) =  U81^#(N,  XS;)                                                   
                                       >  c_22(U82^#(activate(N;),  activate(XS;);),                       
                                               activate^#(N;),                                             
                                               activate^#(XS;);)                                           
                                       =  pi(c_22(U82^#(tt(), activate(N), activate(XS)),                  
                                                  activate^#(N),                                           
                                                  activate^#(XS)))                                         
                                                                                                           
                pi(U82^#(tt(), N, XS)) =  U82^#(N,  XS;)                                                   
                                       >  c_23(fst^#(splitAt(; activate(XS;));),                           
                                               activate^#(N;),                                             
                                               activate^#(XS;);)                                           
                                       =  pi(c_23(fst^#(splitAt(activate(N), activate(XS))),               
                                                  activate^#(N),                                           
                                                  activate^#(XS)))                                         
                                                                                                           
                 pi(fst^#(pair(X, Y))) =  fst^#(pair(; X,  Y);)                                            
                                       >  c_24(U21^#(X; tt());)                                            
                                       =  pi(c_24(U21^#(tt(), X)))                                         
                                                                                                           
               pi(tail^#(cons(N, XS))) =  tail^#(cons(; N,  XS);)                                          
                                       >  c_26(U71^#(tt(),  activate(XS;);),  activate^#(XS;);)            
                                       =  pi(c_26(U71^#(tt(), activate(XS)), activate^#(XS)))              
                                                                                                           
                  pi(U11(tt(), N, XS)) =  U11(XS; tt())                                                    
                                       >  U12(activate(XS;);)                                              
                                       =  pi(U12(tt(), activate(N), activate(XS)))                         
                                                                                                           
                  pi(U12(tt(), N, XS)) =  U12(XS;)                                                         
                                       >  snd(splitAt(; activate(XS;));)                                   
                                       =  pi(snd(splitAt(activate(N), activate(XS))))                      
                                                                                                           
                       pi(activate(X)) =  activate(X;)                                                     
                                       >  X                                                                
                                       =  pi(X)                                                            
                                                                                                           
          pi(activate(n__natsFrom(X))) =  activate(n__natsFrom(; X);)                                      
                                       >  natsFrom(; activate(X;))                                         
                                       =  pi(natsFrom(activate(X)))                                        
                                                                                                           
                 pi(activate(n__s(X))) =  activate(n__s(; X);)                                             
                                       >  s(; activate(X;))                                                
                                       =  pi(s(activate(X)))                                               
                                                                                                           
                   pi(snd(pair(X, Y))) =  snd(pair(; X,  Y);)                                              
                                       >  U51(Y;)                                                          
                                       =  pi(U51(tt(), Y))                                                 
                                                                                                           
                  pi(splitAt(0(), XS)) =  splitAt(; XS)                                                    
                                       >  pair(; nil(),  XS)                                               
                                       =  pi(pair(nil(), XS))                                              
                                                                                                           
                   pi(afterNth(N, XS)) =  afterNth(N,  XS;)                                                
                                       >  U11(XS; tt())                                                    
                                       =  pi(U11(tt(), N, XS))                                             
                                                                                                           
                      pi(U51(tt(), Y)) =  U51(Y;)                                                          
                                       >  U52(activate(Y;);)                                               
                                       =  pi(U52(tt(), activate(Y)))                                       
                                                                                                           
                      pi(U52(tt(), Y)) =  U52(Y;)                                                          
                                       >= activate(Y;)                                                     
                                       =  pi(activate(Y))                                                  
                                                                                                           
                       pi(natsFrom(N)) =  natsFrom(; N)                                                    
                                       >  cons(; N,  n__natsFrom(; n__s(; N)))                             
                                       =  pi(cons(N, n__natsFrom(n__s(N))))                                
                                                                                                           
                       pi(natsFrom(X)) =  natsFrom(; X)                                                    
                                       >  n__natsFrom(; X)                                                 
                                       =  pi(n__natsFrom(X))                                               
                                                                                                           
                              pi(s(X)) =  s(; X)                                                           
                                       >  n__s(; X)                                                        
                                       =  pi(n__s(X))                                                      
                                                                                                           
   
   S) We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs:
        { U11^#(tt(), N, XS) ->
          c_1(U12^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
        , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
      Weak DPs:
        { U12^#(tt(), N, XS) ->
          c_2(snd^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
        , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
        , activate^#(n__s(X)) -> c_4(activate^#(X))
        , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
        , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
        , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
        , U22^#(tt(), X) -> c_8(activate^#(X))
        , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
        , U32^#(tt(), N) -> c_10(activate^#(N))
        , U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
        , U52^#(tt(), Y) -> c_15(activate^#(Y))
        , U61^#(tt(), N, X, XS) ->
          c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U62^#(tt(), N, X, XS) ->
          c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U63^#(tt(), N, X, XS) ->
          c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
               activate^#(N),
               activate^#(XS),
               activate^#(X))
        , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
        , U71^#(tt(), XS) ->
          c_20(U72^#(tt(), activate(XS)), activate^#(XS))
        , U72^#(tt(), XS) -> c_21(activate^#(XS))
        , U81^#(tt(), N, XS) ->
          c_22(U82^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U82^#(tt(), N, XS) ->
          c_23(fst^#(splitAt(activate(N), activate(XS))),
               activate^#(N),
               activate^#(XS))
        , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
        , tail^#(cons(N, XS)) ->
          c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      We estimate the number of application of {1} by applications of
      Pre({1}) = {2}. Here rules are labeled as follows:
      
        DPs:
          { 1: U11^#(tt(), N, XS) ->
               c_1(U12^#(tt(), activate(N), activate(XS)),
                   activate^#(N),
                   activate^#(XS))
          , 2: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
          , 3: U12^#(tt(), N, XS) ->
               c_2(snd^#(splitAt(activate(N), activate(XS))),
                   activate^#(N),
                   activate^#(XS))
          , 4: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
          , 5: activate^#(n__s(X)) -> c_4(activate^#(X))
          , 6: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
          , 7: U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
          , 8: U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
          , 9: U22^#(tt(), X) -> c_8(activate^#(X))
          , 10: U31^#(tt(), N) ->
                c_9(U32^#(tt(), activate(N)), activate^#(N))
          , 11: U32^#(tt(), N) -> c_10(activate^#(N))
          , 12: U41^#(tt(), N, XS) ->
                c_11(U42^#(tt(), activate(N), activate(XS)),
                     activate^#(N),
                     activate^#(XS))
          , 13: U42^#(tt(), N, XS) ->
                c_12(head^#(afterNth(activate(N), activate(XS))),
                     afterNth^#(activate(N), activate(XS)),
                     activate^#(N),
                     activate^#(XS))
          , 14: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
          , 15: U52^#(tt(), Y) -> c_15(activate^#(Y))
          , 16: U61^#(tt(), N, X, XS) ->
                c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
                     activate^#(N),
                     activate^#(X),
                     activate^#(XS))
          , 17: U62^#(tt(), N, X, XS) ->
                c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                     activate^#(N),
                     activate^#(X),
                     activate^#(XS))
          , 18: U63^#(tt(), N, X, XS) ->
                c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                     activate^#(N),
                     activate^#(XS),
                     activate^#(X))
          , 19: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
          , 20: U71^#(tt(), XS) ->
                c_20(U72^#(tt(), activate(XS)), activate^#(XS))
          , 21: U72^#(tt(), XS) -> c_21(activate^#(XS))
          , 22: U81^#(tt(), N, XS) ->
                c_22(U82^#(tt(), activate(N), activate(XS)),
                     activate^#(N),
                     activate^#(XS))
          , 23: U82^#(tt(), N, XS) ->
                c_23(fst^#(splitAt(activate(N), activate(XS))),
                     activate^#(N),
                     activate^#(XS))
          , 24: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
          , 25: tail^#(cons(N, XS)) ->
                c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
      Weak DPs:
        { U11^#(tt(), N, XS) ->
          c_1(U12^#(tt(), activate(N), activate(XS)),
              activate^#(N),
              activate^#(XS))
        , U12^#(tt(), N, XS) ->
          c_2(snd^#(splitAt(activate(N), activate(XS))),
              activate^#(N),
              activate^#(XS))
        , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
        , activate^#(n__s(X)) -> c_4(activate^#(X))
        , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
        , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
        , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
        , U22^#(tt(), X) -> c_8(activate^#(X))
        , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
        , U32^#(tt(), N) -> c_10(activate^#(N))
        , U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
        , U52^#(tt(), Y) -> c_15(activate^#(Y))
        , U61^#(tt(), N, X, XS) ->
          c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U62^#(tt(), N, X, XS) ->
          c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
               activate^#(N),
               activate^#(X),
               activate^#(XS))
        , U63^#(tt(), N, X, XS) ->
          c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
               activate^#(N),
               activate^#(XS),
               activate^#(X))
        , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
        , U71^#(tt(), XS) ->
          c_20(U72^#(tt(), activate(XS)), activate^#(XS))
        , U72^#(tt(), XS) -> c_21(activate^#(XS))
        , U81^#(tt(), N, XS) ->
          c_22(U82^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U82^#(tt(), N, XS) ->
          c_23(fst^#(splitAt(activate(N), activate(XS))),
               activate^#(N),
               activate^#(XS))
        , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
        , tail^#(cons(N, XS)) ->
          c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      The following weak DPs constitute a sub-graph of the DG that is
      closed under successors. The DPs are removed.
      
      { U11^#(tt(), N, XS) ->
        c_1(U12^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
      , U12^#(tt(), N, XS) ->
        c_2(snd^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
      , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
      , activate^#(n__s(X)) -> c_4(activate^#(X))
      , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
      , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
      , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
      , U22^#(tt(), X) -> c_8(activate^#(X))
      , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
      , U32^#(tt(), N) -> c_10(activate^#(N))
      , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
      , U52^#(tt(), Y) -> c_15(activate^#(Y))
      , U61^#(tt(), N, X, XS) ->
        c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
             activate^#(N),
             activate^#(X),
             activate^#(XS))
      , U62^#(tt(), N, X, XS) ->
        c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
             activate^#(N),
             activate^#(X),
             activate^#(XS))
      , U63^#(tt(), N, X, XS) ->
        c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
             activate^#(N),
             activate^#(XS),
             activate^#(X))
      , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
      , U71^#(tt(), XS) ->
        c_20(U72^#(tt(), activate(XS)), activate^#(XS))
      , U72^#(tt(), XS) -> c_21(activate^#(XS))
      , U81^#(tt(), N, XS) ->
        c_22(U82^#(tt(), activate(N), activate(XS)),
             activate^#(N),
             activate^#(XS))
      , U82^#(tt(), N, XS) ->
        c_23(fst^#(splitAt(activate(N), activate(XS))),
             activate^#(N),
             activate^#(XS))
      , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
      , tail^#(cons(N, XS)) ->
        c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
      Weak DPs:
        { U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      Due to missing edges in the dependency-graph, the right-hand sides
      of following rules could be simplified:
      
        { U41^#(tt(), N, XS) ->
          c_11(U42^#(tt(), activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , U42^#(tt(), N, XS) ->
          c_12(head^#(afterNth(activate(N), activate(XS))),
               afterNth^#(activate(N), activate(XS)),
               activate^#(N),
               activate^#(XS))
        , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { afterNth^#(N, XS) -> c_1() }
      Weak DPs:
        { U41^#(tt(), N, XS) -> c_2(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_3(afterNth^#(activate(N), activate(XS))) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      We replace rewrite rules by usable rules:
      
        Weak Usable Rules:
          { activate(X) -> X
          , activate(n__natsFrom(X)) -> natsFrom(activate(X))
          , activate(n__s(X)) -> s(activate(X))
          , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
          , natsFrom(X) -> n__natsFrom(X)
          , s(X) -> n__s(X) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { afterNth^#(N, XS) -> c_1() }
      Weak DPs:
        { U41^#(tt(), N, XS) -> c_2(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_3(afterNth^#(activate(N), activate(XS))) }
      Weak Trs:
        { activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      The dependency graph contains no loops, we remove all dependency
      pairs.
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Weak Trs:
        { activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      No rule is usable, rules are removed from the input problem.
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Rules: Empty
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      Empty rules are trivially bounded
   

S) We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   We estimate the number of application of {5,7,9,13,15} by
   applications of Pre({5,7,9,13,15}) = {3,4,6,12,14}. Here rules are
   labeled as follows:
   
     DPs:
       { 1: U12^#(tt(), N, XS) ->
            c_2(snd^#(splitAt(activate(N), activate(XS))),
                activate^#(N),
                activate^#(XS))
       , 2: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , 3: U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , 4: U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
       , 5: U22^#(tt(), X) -> c_8(activate^#(X))
       , 6: U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
       , 7: U32^#(tt(), N) -> c_10(activate^#(N))
       , 8: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , 9: U52^#(tt(), Y) -> c_15(activate^#(Y))
       , 10: U61^#(tt(), N, X, XS) ->
             c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
                  activate^#(N),
                  activate^#(X),
                  activate^#(XS))
       , 11: U62^#(tt(), N, X, XS) ->
             c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                  activate^#(N),
                  activate^#(X),
                  activate^#(XS))
       , 12: U63^#(tt(), N, X, XS) ->
             c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                  activate^#(N),
                  activate^#(XS),
                  activate^#(X))
       , 13: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , 14: U71^#(tt(), XS) ->
             c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , 15: U72^#(tt(), XS) -> c_21(activate^#(XS))
       , 16: U81^#(tt(), N, XS) ->
             c_22(U82^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 17: U82^#(tt(), N, XS) ->
             c_23(fst^#(splitAt(activate(N), activate(XS))),
                  activate^#(N),
                  activate^#(XS))
       , 18: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , 19: tail^#(cons(N, XS)) ->
             c_26(U71^#(tt(), activate(XS)), activate^#(XS))
       , 20: U11^#(tt(), N, XS) ->
             c_1(U12^#(tt(), activate(N), activate(XS)),
                 activate^#(N),
                 activate^#(XS))
       , 21: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , 22: activate^#(n__s(X)) -> c_4(activate^#(X))
       , 23: U41^#(tt(), N, XS) ->
             c_11(U42^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 24: U42^#(tt(), N, XS) ->
             c_12(head^#(afterNth(activate(N), activate(XS))),
                  afterNth^#(activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 25: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U72^#(tt(), XS) -> c_21(activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   We estimate the number of application of {3,4,5,9,10} by
   applications of Pre({3,4,5,9,10}) = {2,6,8,13,14}. Here rules are
   labeled as follows:
   
     DPs:
       { 1: U12^#(tt(), N, XS) ->
            c_2(snd^#(splitAt(activate(N), activate(XS))),
                activate^#(N),
                activate^#(XS))
       , 2: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , 3: U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , 4: U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
       , 5: U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
       , 6: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , 7: U61^#(tt(), N, X, XS) ->
            c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
                 activate^#(N),
                 activate^#(X),
                 activate^#(XS))
       , 8: U62^#(tt(), N, X, XS) ->
            c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                 activate^#(N),
                 activate^#(X),
                 activate^#(XS))
       , 9: U63^#(tt(), N, X, XS) ->
            c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                 activate^#(N),
                 activate^#(XS),
                 activate^#(X))
       , 10: U71^#(tt(), XS) ->
             c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , 11: U81^#(tt(), N, XS) ->
             c_22(U82^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 12: U82^#(tt(), N, XS) ->
             c_23(fst^#(splitAt(activate(N), activate(XS))),
                  activate^#(N),
                  activate^#(XS))
       , 13: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , 14: tail^#(cons(N, XS)) ->
             c_26(U71^#(tt(), activate(XS)), activate^#(XS))
       , 15: U11^#(tt(), N, XS) ->
             c_1(U12^#(tt(), activate(N), activate(XS)),
                 activate^#(N),
                 activate^#(XS))
       , 16: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , 17: activate^#(n__s(X)) -> c_4(activate^#(X))
       , 18: U22^#(tt(), X) -> c_8(activate^#(X))
       , 19: U32^#(tt(), N) -> c_10(activate^#(N))
       , 20: U41^#(tt(), N, XS) ->
             c_11(U42^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 21: U42^#(tt(), N, XS) ->
             c_12(head^#(afterNth(activate(N), activate(XS))),
                  afterNth^#(activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 22: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
       , 23: U52^#(tt(), Y) -> c_15(activate^#(Y))
       , 24: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , 25: U72^#(tt(), XS) -> c_21(activate^#(XS)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   We estimate the number of application of {2,5,8,9} by applications
   of Pre({2,5,8,9}) = {1,4,7}. Here rules are labeled as follows:
   
     DPs:
       { 1: U12^#(tt(), N, XS) ->
            c_2(snd^#(splitAt(activate(N), activate(XS))),
                activate^#(N),
                activate^#(XS))
       , 2: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , 3: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , 4: U61^#(tt(), N, X, XS) ->
            c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
                 activate^#(N),
                 activate^#(X),
                 activate^#(XS))
       , 5: U62^#(tt(), N, X, XS) ->
            c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                 activate^#(N),
                 activate^#(X),
                 activate^#(XS))
       , 6: U81^#(tt(), N, XS) ->
            c_22(U82^#(tt(), activate(N), activate(XS)),
                 activate^#(N),
                 activate^#(XS))
       , 7: U82^#(tt(), N, XS) ->
            c_23(fst^#(splitAt(activate(N), activate(XS))),
                 activate^#(N),
                 activate^#(XS))
       , 8: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , 9: tail^#(cons(N, XS)) ->
            c_26(U71^#(tt(), activate(XS)), activate^#(XS))
       , 10: U11^#(tt(), N, XS) ->
             c_1(U12^#(tt(), activate(N), activate(XS)),
                 activate^#(N),
                 activate^#(XS))
       , 11: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , 12: activate^#(n__s(X)) -> c_4(activate^#(X))
       , 13: U51^#(tt(), Y) ->
             c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , 14: U21^#(tt(), X) ->
             c_7(U22^#(tt(), activate(X)), activate^#(X))
       , 15: U22^#(tt(), X) -> c_8(activate^#(X))
       , 16: U31^#(tt(), N) ->
             c_9(U32^#(tt(), activate(N)), activate^#(N))
       , 17: U32^#(tt(), N) -> c_10(activate^#(N))
       , 18: U41^#(tt(), N, XS) ->
             c_11(U42^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 19: U42^#(tt(), N, XS) ->
             c_12(head^#(afterNth(activate(N), activate(XS))),
                  afterNth^#(activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 20: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
       , 21: U52^#(tt(), Y) -> c_15(activate^#(Y))
       , 22: U63^#(tt(), N, X, XS) ->
             c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                  activate^#(N),
                  activate^#(XS),
                  activate^#(X))
       , 23: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , 24: U71^#(tt(), XS) ->
             c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , 25: U72^#(tt(), XS) -> c_21(activate^#(XS)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   We estimate the number of application of {3,5} by applications of
   Pre({3,5}) = {4}. Here rules are labeled as follows:
   
     DPs:
       { 1: U12^#(tt(), N, XS) ->
            c_2(snd^#(splitAt(activate(N), activate(XS))),
                activate^#(N),
                activate^#(XS))
       , 2: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , 3: U61^#(tt(), N, X, XS) ->
            c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
                 activate^#(N),
                 activate^#(X),
                 activate^#(XS))
       , 4: U81^#(tt(), N, XS) ->
            c_22(U82^#(tt(), activate(N), activate(XS)),
                 activate^#(N),
                 activate^#(XS))
       , 5: U82^#(tt(), N, XS) ->
            c_23(fst^#(splitAt(activate(N), activate(XS))),
                 activate^#(N),
                 activate^#(XS))
       , 6: U11^#(tt(), N, XS) ->
            c_1(U12^#(tt(), activate(N), activate(XS)),
                activate^#(N),
                activate^#(XS))
       , 7: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , 8: activate^#(n__s(X)) -> c_4(activate^#(X))
       , 9: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , 10: U51^#(tt(), Y) ->
             c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , 11: U21^#(tt(), X) ->
             c_7(U22^#(tt(), activate(X)), activate^#(X))
       , 12: U22^#(tt(), X) -> c_8(activate^#(X))
       , 13: U31^#(tt(), N) ->
             c_9(U32^#(tt(), activate(N)), activate^#(N))
       , 14: U32^#(tt(), N) -> c_10(activate^#(N))
       , 15: U41^#(tt(), N, XS) ->
             c_11(U42^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 16: U42^#(tt(), N, XS) ->
             c_12(head^#(afterNth(activate(N), activate(XS))),
                  afterNth^#(activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 17: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
       , 18: U52^#(tt(), Y) -> c_15(activate^#(Y))
       , 19: U62^#(tt(), N, X, XS) ->
             c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                  activate^#(N),
                  activate^#(X),
                  activate^#(XS))
       , 20: U63^#(tt(), N, X, XS) ->
             c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                  activate^#(N),
                  activate^#(XS),
                  activate^#(X))
       , 21: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , 22: U71^#(tt(), XS) ->
             c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , 23: U72^#(tt(), XS) -> c_21(activate^#(XS))
       , 24: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , 25: tail^#(cons(N, XS)) ->
             c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   We estimate the number of application of {3} by applications of
   Pre({3}) = {}. Here rules are labeled as follows:
   
     DPs:
       { 1: U12^#(tt(), N, XS) ->
            c_2(snd^#(splitAt(activate(N), activate(XS))),
                activate^#(N),
                activate^#(XS))
       , 2: head^#(cons(N, XS)) -> c_13(U31^#(tt(), N))
       , 3: U81^#(tt(), N, XS) ->
            c_22(U82^#(tt(), activate(N), activate(XS)),
                 activate^#(N),
                 activate^#(XS))
       , 4: U11^#(tt(), N, XS) ->
            c_1(U12^#(tt(), activate(N), activate(XS)),
                activate^#(N),
                activate^#(XS))
       , 5: activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
       , 6: activate^#(n__s(X)) -> c_4(activate^#(X))
       , 7: snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
       , 8: U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
       , 9: U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
       , 10: U22^#(tt(), X) -> c_8(activate^#(X))
       , 11: U31^#(tt(), N) ->
             c_9(U32^#(tt(), activate(N)), activate^#(N))
       , 12: U32^#(tt(), N) -> c_10(activate^#(N))
       , 13: U41^#(tt(), N, XS) ->
             c_11(U42^#(tt(), activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 14: U42^#(tt(), N, XS) ->
             c_12(head^#(afterNth(activate(N), activate(XS))),
                  afterNth^#(activate(N), activate(XS)),
                  activate^#(N),
                  activate^#(XS))
       , 15: afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
       , 16: U52^#(tt(), Y) -> c_15(activate^#(Y))
       , 17: U61^#(tt(), N, X, XS) ->
             c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
                  activate^#(N),
                  activate^#(X),
                  activate^#(XS))
       , 18: U62^#(tt(), N, X, XS) ->
             c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
                  activate^#(N),
                  activate^#(X),
                  activate^#(XS))
       , 19: U63^#(tt(), N, X, XS) ->
             c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
                  activate^#(N),
                  activate^#(XS),
                  activate^#(X))
       , 20: U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
       , 21: U71^#(tt(), XS) ->
             c_20(U72^#(tt(), activate(XS)), activate^#(XS))
       , 22: U72^#(tt(), XS) -> c_21(activate^#(XS))
       , 23: U82^#(tt(), N, XS) ->
             c_23(fst^#(splitAt(activate(N), activate(XS))),
                  activate^#(N),
                  activate^#(XS))
       , 24: fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
       , 25: tail^#(cons(N, XS)) ->
             c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
     , activate^#(n__s(X)) -> c_4(activate^#(X))
     , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
     , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
     , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
     , U22^#(tt(), X) -> c_8(activate^#(X))
     , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
     , U32^#(tt(), N) -> c_10(activate^#(N))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS))
     , U52^#(tt(), Y) -> c_15(activate^#(Y))
     , U61^#(tt(), N, X, XS) ->
       c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U62^#(tt(), N, X, XS) ->
       c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
            activate^#(N),
            activate^#(X),
            activate^#(XS))
     , U63^#(tt(), N, X, XS) ->
       c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
            activate^#(N),
            activate^#(XS),
            activate^#(X))
     , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
     , U71^#(tt(), XS) ->
       c_20(U72^#(tt(), activate(XS)), activate^#(XS))
     , U72^#(tt(), XS) -> c_21(activate^#(XS))
     , U81^#(tt(), N, XS) ->
       c_22(U82^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U82^#(tt(), N, XS) ->
       c_23(fst^#(splitAt(activate(N), activate(XS))),
            activate^#(N),
            activate^#(XS))
     , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
     , tail^#(cons(N, XS)) ->
       c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   The following weak DPs constitute a sub-graph of the DG that is
   closed under successors. The DPs are removed.
   
   { activate^#(n__natsFrom(X)) -> c_3(activate^#(X))
   , activate^#(n__s(X)) -> c_4(activate^#(X))
   , snd^#(pair(X, Y)) -> c_5(U51^#(tt(), Y))
   , U51^#(tt(), Y) -> c_6(U52^#(tt(), activate(Y)), activate^#(Y))
   , U21^#(tt(), X) -> c_7(U22^#(tt(), activate(X)), activate^#(X))
   , U22^#(tt(), X) -> c_8(activate^#(X))
   , U31^#(tt(), N) -> c_9(U32^#(tt(), activate(N)), activate^#(N))
   , U32^#(tt(), N) -> c_10(activate^#(N))
   , U52^#(tt(), Y) -> c_15(activate^#(Y))
   , U61^#(tt(), N, X, XS) ->
     c_16(U62^#(tt(), activate(N), activate(X), activate(XS)),
          activate^#(N),
          activate^#(X),
          activate^#(XS))
   , U62^#(tt(), N, X, XS) ->
     c_17(U63^#(tt(), activate(N), activate(X), activate(XS)),
          activate^#(N),
          activate^#(X),
          activate^#(XS))
   , U63^#(tt(), N, X, XS) ->
     c_18(U64^#(splitAt(activate(N), activate(XS)), activate(X)),
          activate^#(N),
          activate^#(XS),
          activate^#(X))
   , U64^#(pair(YS, ZS), X) -> c_19(activate^#(X))
   , U71^#(tt(), XS) ->
     c_20(U72^#(tt(), activate(XS)), activate^#(XS))
   , U72^#(tt(), XS) -> c_21(activate^#(XS))
   , U81^#(tt(), N, XS) ->
     c_22(U82^#(tt(), activate(N), activate(XS)),
          activate^#(N),
          activate^#(XS))
   , U82^#(tt(), N, XS) ->
     c_23(fst^#(splitAt(activate(N), activate(XS))),
          activate^#(N),
          activate^#(XS))
   , fst^#(pair(X, Y)) -> c_24(U21^#(tt(), X))
   , tail^#(cons(N, XS)) ->
     c_26(U71^#(tt(), activate(XS)), activate^#(XS)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N)) }
   Weak DPs:
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , afterNth^#(N, XS) -> c_14(U11^#(tt(), N, XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   Due to missing edges in the dependency-graph, the right-hand sides
   of following rules could be simplified:
   
     { U11^#(tt(), N, XS) ->
       c_1(U12^#(tt(), activate(N), activate(XS)),
           activate^#(N),
           activate^#(XS))
     , U12^#(tt(), N, XS) ->
       c_2(snd^#(splitAt(activate(N), activate(XS))),
           activate^#(N),
           activate^#(XS))
     , U41^#(tt(), N, XS) ->
       c_11(U42^#(tt(), activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , U42^#(tt(), N, XS) ->
       c_12(head^#(afterNth(activate(N), activate(XS))),
            afterNth^#(activate(N), activate(XS)),
            activate^#(N),
            activate^#(XS))
     , head^#(cons(N, XS)) -> c_13(U31^#(tt(), N)) }
   
   We are left with following problem, upon which TcT provides the
   certificate YES(O(1),O(1)).
   
   Strict DPs:
     { U12^#(tt(), N, XS) -> c_1()
     , head^#(cons(N, XS)) -> c_2() }
   Weak DPs:
     { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
     , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
     , U42^#(tt(), N, XS) ->
       c_5(head^#(afterNth(activate(N), activate(XS))),
           afterNth^#(activate(N), activate(XS)))
     , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
   Weak Trs:
     { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
     , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
     , activate(X) -> X
     , activate(n__natsFrom(X)) -> natsFrom(activate(X))
     , activate(n__s(X)) -> s(activate(X))
     , snd(pair(X, Y)) -> U51(tt(), Y)
     , splitAt(0(), XS) -> pair(nil(), XS)
     , afterNth(N, XS) -> U11(tt(), N, XS)
     , U51(tt(), Y) -> U52(tt(), activate(Y))
     , U52(tt(), Y) -> activate(Y)
     , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
     , natsFrom(X) -> n__natsFrom(X)
     , s(X) -> n__s(X) }
   Obligation:
     innermost runtime complexity
   Answer:
     YES(O(1),O(1))
   
   We analyse the complexity of following sub-problems (R) and (S).
   Problem (S) is obtained from the input problem by shifting strict
   rules from (R) into the weak component:
   
   Problem (R):
   ------------
     Strict DPs: { U12^#(tt(), N, XS) -> c_1() }
     Weak DPs:
       { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
       , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
       , U42^#(tt(), N, XS) ->
         c_5(head^#(afterNth(activate(N), activate(XS))),
             afterNth^#(activate(N), activate(XS)))
       , head^#(cons(N, XS)) -> c_2()
       , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
     Weak Trs:
       { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
       , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
       , activate(X) -> X
       , activate(n__natsFrom(X)) -> natsFrom(activate(X))
       , activate(n__s(X)) -> s(activate(X))
       , snd(pair(X, Y)) -> U51(tt(), Y)
       , splitAt(0(), XS) -> pair(nil(), XS)
       , afterNth(N, XS) -> U11(tt(), N, XS)
       , U51(tt(), Y) -> U52(tt(), activate(Y))
       , U52(tt(), Y) -> activate(Y)
       , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
       , natsFrom(X) -> n__natsFrom(X)
       , s(X) -> n__s(X) }
     StartTerms: basic terms
     Strategy: innermost
   
   Problem (S):
   ------------
     Strict DPs: { head^#(cons(N, XS)) -> c_2() }
     Weak DPs:
       { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
       , U12^#(tt(), N, XS) -> c_1()
       , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
       , U42^#(tt(), N, XS) ->
         c_5(head^#(afterNth(activate(N), activate(XS))),
             afterNth^#(activate(N), activate(XS)))
       , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
     Weak Trs:
       { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
       , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
       , activate(X) -> X
       , activate(n__natsFrom(X)) -> natsFrom(activate(X))
       , activate(n__s(X)) -> s(activate(X))
       , snd(pair(X, Y)) -> U51(tt(), Y)
       , splitAt(0(), XS) -> pair(nil(), XS)
       , afterNth(N, XS) -> U11(tt(), N, XS)
       , U51(tt(), Y) -> U52(tt(), activate(Y))
       , U52(tt(), Y) -> activate(Y)
       , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
       , natsFrom(X) -> n__natsFrom(X)
       , s(X) -> n__s(X) }
     StartTerms: basic terms
     Strategy: innermost
   
   Overall, the transformation results in the following sub-problem(s):
   
   Generated new problems:
   -----------------------
   R) Strict DPs: { U12^#(tt(), N, XS) -> c_1() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
        , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)))
        , head^#(cons(N, XS)) -> c_2()
        , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      StartTerms: basic terms
      Strategy: innermost
      
      This problem was proven YES(O(1),O(1)).
   
   S) Strict DPs: { head^#(cons(N, XS)) -> c_2() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
        , U12^#(tt(), N, XS) -> c_1()
        , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)))
        , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      StartTerms: basic terms
      Strategy: innermost
      
      This problem was proven YES(O(1),O(1)).
   
   
   Proofs for generated problems:
   ------------------------------
   R) We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { U12^#(tt(), N, XS) -> c_1() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
        , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)))
        , head^#(cons(N, XS)) -> c_2()
        , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      The following weak DPs constitute a sub-graph of the DG that is
      closed under successors. The DPs are removed.
      
      { head^#(cons(N, XS)) -> c_2() }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { U12^#(tt(), N, XS) -> c_1() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
        , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)))
        , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      Due to missing edges in the dependency-graph, the right-hand sides
      of following rules could be simplified:
      
        { U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS))) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { U12^#(tt(), N, XS) -> c_1() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_2(U12^#(tt(), activate(N), activate(XS)))
        , U41^#(tt(), N, XS) -> c_3(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) -> c_4(afterNth^#(activate(N), activate(XS)))
        , afterNth^#(N, XS) -> c_5(U11^#(tt(), N, XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      We replace rewrite rules by usable rules:
      
        Weak Usable Rules:
          { activate(X) -> X
          , activate(n__natsFrom(X)) -> natsFrom(activate(X))
          , activate(n__s(X)) -> s(activate(X))
          , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
          , natsFrom(X) -> n__natsFrom(X)
          , s(X) -> n__s(X) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { U12^#(tt(), N, XS) -> c_1() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_2(U12^#(tt(), activate(N), activate(XS)))
        , U41^#(tt(), N, XS) -> c_3(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) -> c_4(afterNth^#(activate(N), activate(XS)))
        , afterNth^#(N, XS) -> c_5(U11^#(tt(), N, XS)) }
      Weak Trs:
        { activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      The dependency graph contains no loops, we remove all dependency
      pairs.
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Weak Trs:
        { activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      No rule is usable, rules are removed from the input problem.
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Rules: Empty
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      Empty rules are trivially bounded
   
   S) We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { head^#(cons(N, XS)) -> c_2() }
      Weak DPs:
        { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
        , U12^#(tt(), N, XS) -> c_1()
        , U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS)))
        , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      The following weak DPs constitute a sub-graph of the DG that is
      closed under successors. The DPs are removed.
      
      { U11^#(tt(), N, XS) -> c_3(U12^#(tt(), activate(N), activate(XS)))
      , U12^#(tt(), N, XS) -> c_1()
      , afterNth^#(N, XS) -> c_6(U11^#(tt(), N, XS)) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { head^#(cons(N, XS)) -> c_2() }
      Weak DPs:
        { U41^#(tt(), N, XS) -> c_4(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS))) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      Due to missing edges in the dependency-graph, the right-hand sides
      of following rules could be simplified:
      
        { U42^#(tt(), N, XS) ->
          c_5(head^#(afterNth(activate(N), activate(XS))),
              afterNth^#(activate(N), activate(XS))) }
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Strict DPs: { head^#(cons(N, XS)) -> c_1() }
      Weak DPs:
        { U41^#(tt(), N, XS) -> c_2(U42^#(tt(), activate(N), activate(XS)))
        , U42^#(tt(), N, XS) ->
          c_3(head^#(afterNth(activate(N), activate(XS)))) }
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      The dependency graph contains no loops, we remove all dependency
      pairs.
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Weak Trs:
        { U11(tt(), N, XS) -> U12(tt(), activate(N), activate(XS))
        , U12(tt(), N, XS) -> snd(splitAt(activate(N), activate(XS)))
        , activate(X) -> X
        , activate(n__natsFrom(X)) -> natsFrom(activate(X))
        , activate(n__s(X)) -> s(activate(X))
        , snd(pair(X, Y)) -> U51(tt(), Y)
        , splitAt(0(), XS) -> pair(nil(), XS)
        , afterNth(N, XS) -> U11(tt(), N, XS)
        , U51(tt(), Y) -> U52(tt(), activate(Y))
        , U52(tt(), Y) -> activate(Y)
        , natsFrom(N) -> cons(N, n__natsFrom(n__s(N)))
        , natsFrom(X) -> n__natsFrom(X)
        , s(X) -> n__s(X) }
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      No rule is usable, rules are removed from the input problem.
      
      We are left with following problem, upon which TcT provides the
      certificate YES(O(1),O(1)).
      
      Rules: Empty
      Obligation:
        innermost runtime complexity
      Answer:
        YES(O(1),O(1))
      
      Empty rules are trivially bounded
   


Hurray, we answered YES(O(1),POLY)