We consider the following Problem:

  Strict Trs:
    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
     , fst(pair(XS, YS)) -> XS
     , snd(pair(XS, YS)) -> YS
     , splitAt(0(), XS) -> pair(nil(), XS)
     , splitAt(s(N), cons(X, XS)) ->
       u(splitAt(N, activate(XS)), N, X, activate(XS))
     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
     , head(cons(N, XS)) -> N
     , tail(cons(N, XS)) -> activate(XS)
     , sel(N, XS) -> head(afterNth(N, XS))
     , take(N, XS) -> fst(splitAt(N, XS))
     , afterNth(N, XS) -> snd(splitAt(N, XS))
     , natsFrom(X) -> n__natsFrom(X)
     , activate(n__natsFrom(X)) -> natsFrom(X)
     , activate(X) -> X}
  StartTerms: basic terms
  Strategy: innermost

Certificate: YES(?,O(n^1))

Proof:
  We consider the following Problem:
  
    Strict Trs:
      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
       , fst(pair(XS, YS)) -> XS
       , snd(pair(XS, YS)) -> YS
       , splitAt(0(), XS) -> pair(nil(), XS)
       , splitAt(s(N), cons(X, XS)) ->
         u(splitAt(N, activate(XS)), N, X, activate(XS))
       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
       , head(cons(N, XS)) -> N
       , tail(cons(N, XS)) -> activate(XS)
       , sel(N, XS) -> head(afterNth(N, XS))
       , take(N, XS) -> fst(splitAt(N, XS))
       , afterNth(N, XS) -> snd(splitAt(N, XS))
       , natsFrom(X) -> n__natsFrom(X)
       , activate(n__natsFrom(X)) -> natsFrom(X)
       , activate(X) -> X}
    StartTerms: basic terms
    Strategy: innermost
  
  Certificate: YES(?,O(n^1))
  
  Proof:
    We consider the following Problem:
    
      Strict Trs:
        {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
         , fst(pair(XS, YS)) -> XS
         , snd(pair(XS, YS)) -> YS
         , splitAt(0(), XS) -> pair(nil(), XS)
         , splitAt(s(N), cons(X, XS)) ->
           u(splitAt(N, activate(XS)), N, X, activate(XS))
         , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
         , head(cons(N, XS)) -> N
         , tail(cons(N, XS)) -> activate(XS)
         , sel(N, XS) -> head(afterNth(N, XS))
         , take(N, XS) -> fst(splitAt(N, XS))
         , afterNth(N, XS) -> snd(splitAt(N, XS))
         , natsFrom(X) -> n__natsFrom(X)
         , activate(n__natsFrom(X)) -> natsFrom(X)
         , activate(X) -> X}
      StartTerms: basic terms
      Strategy: innermost
    
    Certificate: YES(?,O(n^1))
    
    Proof:
      We have computed the following dependency pairs
      
        Strict DPs:
          {  natsFrom^#(N) -> c_1()
           , fst^#(pair(XS, YS)) -> c_2()
           , snd^#(pair(XS, YS)) -> c_3()
           , splitAt^#(0(), XS) -> c_4()
           , splitAt^#(s(N), cons(X, XS)) ->
             u^#(splitAt(N, activate(XS)), N, X, activate(XS))
           , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
           , head^#(cons(N, XS)) -> c_7()
           , tail^#(cons(N, XS)) -> activate^#(XS)
           , sel^#(N, XS) -> head^#(afterNth(N, XS))
           , take^#(N, XS) -> fst^#(splitAt(N, XS))
           , afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
           , natsFrom^#(X) -> c_12()
           , activate^#(n__natsFrom(X)) -> natsFrom^#(X)
           , activate^#(X) -> c_14()}
      
      We consider the following Problem:
      
        Strict DPs:
          {  natsFrom^#(N) -> c_1()
           , fst^#(pair(XS, YS)) -> c_2()
           , snd^#(pair(XS, YS)) -> c_3()
           , splitAt^#(0(), XS) -> c_4()
           , splitAt^#(s(N), cons(X, XS)) ->
             u^#(splitAt(N, activate(XS)), N, X, activate(XS))
           , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
           , head^#(cons(N, XS)) -> c_7()
           , tail^#(cons(N, XS)) -> activate^#(XS)
           , sel^#(N, XS) -> head^#(afterNth(N, XS))
           , take^#(N, XS) -> fst^#(splitAt(N, XS))
           , afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
           , natsFrom^#(X) -> c_12()
           , activate^#(n__natsFrom(X)) -> natsFrom^#(X)
           , activate^#(X) -> c_14()}
        Strict Trs:
          {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
           , fst(pair(XS, YS)) -> XS
           , snd(pair(XS, YS)) -> YS
           , splitAt(0(), XS) -> pair(nil(), XS)
           , splitAt(s(N), cons(X, XS)) ->
             u(splitAt(N, activate(XS)), N, X, activate(XS))
           , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
           , head(cons(N, XS)) -> N
           , tail(cons(N, XS)) -> activate(XS)
           , sel(N, XS) -> head(afterNth(N, XS))
           , take(N, XS) -> fst(splitAt(N, XS))
           , afterNth(N, XS) -> snd(splitAt(N, XS))
           , natsFrom(X) -> n__natsFrom(X)
           , activate(n__natsFrom(X)) -> natsFrom(X)
           , activate(X) -> X}
        StartTerms: basic terms
        Strategy: innermost
      
      Certificate: YES(?,O(n^1))
      
      Proof:
        We replace strict/weak-rules by the corresponding usable rules:
        
          Strict Usable Rules:
            {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
             , snd(pair(XS, YS)) -> YS
             , splitAt(0(), XS) -> pair(nil(), XS)
             , splitAt(s(N), cons(X, XS)) ->
               u(splitAt(N, activate(XS)), N, X, activate(XS))
             , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
             , afterNth(N, XS) -> snd(splitAt(N, XS))
             , natsFrom(X) -> n__natsFrom(X)
             , activate(n__natsFrom(X)) -> natsFrom(X)
             , activate(X) -> X}
        
        We consider the following Problem:
        
          Strict DPs:
            {  natsFrom^#(N) -> c_1()
             , fst^#(pair(XS, YS)) -> c_2()
             , snd^#(pair(XS, YS)) -> c_3()
             , splitAt^#(0(), XS) -> c_4()
             , splitAt^#(s(N), cons(X, XS)) ->
               u^#(splitAt(N, activate(XS)), N, X, activate(XS))
             , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
             , head^#(cons(N, XS)) -> c_7()
             , tail^#(cons(N, XS)) -> activate^#(XS)
             , sel^#(N, XS) -> head^#(afterNth(N, XS))
             , take^#(N, XS) -> fst^#(splitAt(N, XS))
             , afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
             , natsFrom^#(X) -> c_12()
             , activate^#(n__natsFrom(X)) -> natsFrom^#(X)
             , activate^#(X) -> c_14()}
          Strict Trs:
            {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
             , snd(pair(XS, YS)) -> YS
             , splitAt(0(), XS) -> pair(nil(), XS)
             , splitAt(s(N), cons(X, XS)) ->
               u(splitAt(N, activate(XS)), N, X, activate(XS))
             , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
             , afterNth(N, XS) -> snd(splitAt(N, XS))
             , natsFrom(X) -> n__natsFrom(X)
             , activate(n__natsFrom(X)) -> natsFrom(X)
             , activate(X) -> X}
          StartTerms: basic terms
          Strategy: innermost
        
        Certificate: YES(?,O(n^1))
        
        Proof:
          The weightgap principle applies, where following rules are oriented strictly:
          
          Dependency Pairs:
            {  fst^#(pair(XS, YS)) -> c_2()
             , snd^#(pair(XS, YS)) -> c_3()
             , splitAt^#(0(), XS) -> c_4()
             , splitAt^#(s(N), cons(X, XS)) ->
               u^#(splitAt(N, activate(XS)), N, X, activate(XS))
             , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
          TRS Component:
            {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
             , snd(pair(XS, YS)) -> YS
             , splitAt(0(), XS) -> pair(nil(), XS)
             , splitAt(s(N), cons(X, XS)) ->
               u(splitAt(N, activate(XS)), N, X, activate(XS))
             , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
             , afterNth(N, XS) -> snd(splitAt(N, XS))
             , natsFrom(X) -> n__natsFrom(X)
             , activate(n__natsFrom(X)) -> natsFrom(X)
             , activate(X) -> X}
          
          Interpretation of constant growth:
          ----------------------------------
            The following argument positions are usable:
              Uargs(natsFrom) = {}, Uargs(cons) = {1}, Uargs(n__natsFrom) = {},
              Uargs(s) = {}, Uargs(fst) = {}, Uargs(pair) = {1},
              Uargs(snd) = {1}, Uargs(splitAt) = {2}, Uargs(u) = {1, 4},
              Uargs(activate) = {}, Uargs(head) = {}, Uargs(tail) = {},
              Uargs(sel) = {}, Uargs(afterNth) = {}, Uargs(take) = {},
              Uargs(natsFrom^#) = {}, Uargs(fst^#) = {1}, Uargs(snd^#) = {1},
              Uargs(splitAt^#) = {}, Uargs(u^#) = {1, 4}, Uargs(activate^#) = {},
              Uargs(head^#) = {1}, Uargs(tail^#) = {}, Uargs(sel^#) = {},
              Uargs(take^#) = {}, Uargs(afterNth^#) = {}
            We have the following constructor-based EDA-non-satisfying and IDA(1)-non-satisfying matrix interpretation:
            Interpretation Functions:
             natsFrom(x1) = [1 0] x1 + [1]
                            [0 0]      [3]
             cons(x1, x2) = [1 0] x1 + [0 0] x2 + [0]
                            [0 0]      [1 1]      [2]
             n__natsFrom(x1) = [1 0] x1 + [0]
                               [0 0]      [1]
             s(x1) = [0 0] x1 + [0]
                     [0 1]      [3]
             fst(x1) = [0 0] x1 + [0]
                       [0 0]      [0]
             pair(x1, x2) = [1 0] x1 + [1 0] x2 + [2]
                            [0 0]      [0 1]      [0]
             snd(x1) = [1 0] x1 + [0]
                       [0 1]      [1]
             splitAt(x1, x2) = [0 3] x1 + [1 2] x2 + [0]
                               [0 0]      [0 2]      [0]
             0() = [0]
                   [3]
             nil() = [1]
                     [0]
             u(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [1 0] x4 + [3]
                                 [0 1]      [0 0]      [0 0]      [0 0]      [0]
             activate(x1) = [1 0] x1 + [2]
                            [0 1]      [2]
             head(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
             tail(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
             sel(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                           [0 0]      [0 0]      [0]
             afterNth(x1, x2) = [0 3] x1 + [1 2] x2 + [2]
                                [0 0]      [0 2]      [2]
             take(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                            [0 0]      [0 0]      [0]
             natsFrom^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
             c_1() = [0]
                     [0]
             fst^#(x1) = [1 0] x1 + [0]
                         [0 0]      [0]
             c_2() = [0]
                     [0]
             snd^#(x1) = [1 0] x1 + [0]
                         [0 0]      [0]
             c_3() = [0]
                     [0]
             splitAt^#(x1, x2) = [0 3] x1 + [0 3] x2 + [0]
                                 [0 0]      [0 0]      [0]
             c_4() = [0]
                     [0]
             u^#(x1, x2, x3, x4) = [1 0] x1 + [0 0] x2 + [0 0] x3 + [2 0] x4 + [0]
                                   [0 0]      [0 0]      [0 0]      [0 0]      [0]
             activate^#(x1) = [0 0] x1 + [0]
                              [0 0]      [0]
             head^#(x1) = [1 0] x1 + [0]
                          [0 0]      [0]
             c_7() = [0]
                     [0]
             tail^#(x1) = [1 0] x1 + [0]
                          [0 0]      [0]
             sel^#(x1, x2) = [0 3] x1 + [2 2] x2 + [0]
                             [0 0]      [0 0]      [0]
             take^#(x1, x2) = [0 3] x1 + [2 2] x2 + [0]
                              [0 0]      [0 0]      [0]
             afterNth^#(x1, x2) = [0 3] x1 + [2 2] x2 + [0]
                                  [0 0]      [0 0]      [0]
             c_12() = [0]
                      [0]
             c_14() = [0]
                      [0]
          
          The strictly oriented rules are moved into the weak component.
          
          We consider the following Problem:
          
            Strict DPs:
              {  natsFrom^#(N) -> c_1()
               , head^#(cons(N, XS)) -> c_7()
               , tail^#(cons(N, XS)) -> activate^#(XS)
               , sel^#(N, XS) -> head^#(afterNth(N, XS))
               , take^#(N, XS) -> fst^#(splitAt(N, XS))
               , afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
               , natsFrom^#(X) -> c_12()
               , activate^#(n__natsFrom(X)) -> natsFrom^#(X)
               , activate^#(X) -> c_14()}
            Weak DPs:
              {  fst^#(pair(XS, YS)) -> c_2()
               , snd^#(pair(XS, YS)) -> c_3()
               , splitAt^#(0(), XS) -> c_4()
               , splitAt^#(s(N), cons(X, XS)) ->
                 u^#(splitAt(N, activate(XS)), N, X, activate(XS))
               , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
            Weak Trs:
              {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
               , snd(pair(XS, YS)) -> YS
               , splitAt(0(), XS) -> pair(nil(), XS)
               , splitAt(s(N), cons(X, XS)) ->
                 u(splitAt(N, activate(XS)), N, X, activate(XS))
               , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
               , afterNth(N, XS) -> snd(splitAt(N, XS))
               , natsFrom(X) -> n__natsFrom(X)
               , activate(n__natsFrom(X)) -> natsFrom(X)
               , activate(X) -> X}
            StartTerms: basic terms
            Strategy: innermost
          
          Certificate: YES(?,O(n^1))
          
          Proof:
            We use following congruence DG for path analysis
            
            ->9:{3}                                                     [   YES(O(1),O(1))   ]
               |
               |->11:{8}                                                [   YES(O(1),O(1))   ]
               |   |
               |   |->14:{1}                                            [   YES(O(1),O(1))   ]
               |   |
               |   `->12:{7}                                            [   YES(O(1),O(1))   ]
               |
               `->10:{9}                                                [   YES(O(1),O(1))   ]
            
            ->8:{4}                                                     [   YES(O(1),O(1))   ]
               |
               `->13:{2}                                                [   YES(O(1),O(1))   ]
            
            ->6:{5}                                                     [   YES(O(1),O(1))   ]
               |
               `->7:{10}                                                [   YES(O(1),O(1))   ]
            
            ->4:{6}                                                     [   YES(O(1),O(1))   ]
               |
               `->5:{11}                                                [   YES(O(1),O(1))   ]
            
            ->3:{12}                                                    [   YES(O(1),O(1))   ]
            
            ->1:{13}                                                    [      subsumed      ]
               |
               `->2:{14}                                                [      subsumed      ]
                   |
                   |->11:{8}                                            [   YES(O(1),O(1))   ]
                   |   |
                   |   |->14:{1}                                        [   YES(O(1),O(1))   ]
                   |   |
                   |   `->12:{7}                                        [   YES(O(1),O(1))   ]
                   |
                   `->10:{9}                                            [   YES(O(1),O(1))   ]
            
            
            Here dependency-pairs are as follows:
            
            Strict DPs:
              {  1: natsFrom^#(N) -> c_1()
               , 2: head^#(cons(N, XS)) -> c_7()
               , 3: tail^#(cons(N, XS)) -> activate^#(XS)
               , 4: sel^#(N, XS) -> head^#(afterNth(N, XS))
               , 5: take^#(N, XS) -> fst^#(splitAt(N, XS))
               , 6: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
               , 7: natsFrom^#(X) -> c_12()
               , 8: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
               , 9: activate^#(X) -> c_14()}
            WeakDPs DPs:
              {  10: fst^#(pair(XS, YS)) -> c_2()
               , 11: snd^#(pair(XS, YS)) -> c_3()
               , 12: splitAt^#(0(), XS) -> c_4()
               , 13: splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
               , 14: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
            
            * Path 9:{3}: YES(O(1),O(1))
              --------------------------
              
              We consider the following Problem:
              
                Strict DPs: {tail^#(cons(N, XS)) -> activate^#(XS)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: tail^#(cons(N, XS)) -> activate^#(XS)
                  
                
                together with the congruence-graph
                
                  ->1:{1}                                                     Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: tail^#(cons(N, XS)) -> activate^#(XS)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {1: tail^#(cons(N, XS)) -> activate^#(XS)}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 9:{3}->11:{8}: YES(O(1),O(1))
              ----------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                Weak DPs: {tail^#(cons(N, XS)) -> activate^#(XS)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                  
                  2: tail^#(cons(N, XS)) -> activate^#(XS)
                     -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{1}                                                 Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                  WeakDPs DPs:
                    {2: tail^#(cons(N, XS)) -> activate^#(XS)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: tail^#(cons(N, XS)) -> activate^#(XS)
                   , 1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 9:{3}->11:{8}->14:{1}: YES(O(1),O(1))
              ------------------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {natsFrom^#(N) -> c_1()}
                Weak DPs:
                  {  tail^#(cons(N, XS)) -> activate^#(XS)
                   , activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: natsFrom^#(N) -> c_1()
                  
                  2: tail^#(cons(N, XS)) -> activate^#(XS)
                     -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :3
                  
                  3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                     -->_1 natsFrom^#(N) -> c_1() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{3}                                                 Weak SCC
                         |
                         `->3:{1}                                             Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: natsFrom^#(N) -> c_1()}
                  WeakDPs DPs:
                    {  2: tail^#(cons(N, XS)) -> activate^#(XS)
                     , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: tail^#(cons(N, XS)) -> activate^#(XS)
                   , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                   , 1: natsFrom^#(N) -> c_1()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 9:{3}->11:{8}->12:{7}: YES(O(1),O(1))
              ------------------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {natsFrom^#(X) -> c_12()}
                Weak DPs:
                  {  tail^#(cons(N, XS)) -> activate^#(XS)
                   , activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: natsFrom^#(X) -> c_12()
                  
                  2: tail^#(cons(N, XS)) -> activate^#(XS)
                     -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :3
                  
                  3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                     -->_1 natsFrom^#(X) -> c_12() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{3}                                                 Weak SCC
                         |
                         `->3:{1}                                             Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: natsFrom^#(X) -> c_12()}
                  WeakDPs DPs:
                    {  2: tail^#(cons(N, XS)) -> activate^#(XS)
                     , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: tail^#(cons(N, XS)) -> activate^#(XS)
                   , 3: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                   , 1: natsFrom^#(X) -> c_12()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 9:{3}->10:{9}: YES(O(1),O(1))
              ----------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {activate^#(X) -> c_14()}
                Weak DPs: {tail^#(cons(N, XS)) -> activate^#(XS)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: activate^#(X) -> c_14()
                  
                  2: tail^#(cons(N, XS)) -> activate^#(XS)
                     -->_1 activate^#(X) -> c_14() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{1}                                                 Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: activate^#(X) -> c_14()}
                  WeakDPs DPs:
                    {2: tail^#(cons(N, XS)) -> activate^#(XS)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: tail^#(cons(N, XS)) -> activate^#(XS)
                   , 1: activate^#(X) -> c_14()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 8:{4}: YES(O(1),O(1))
              --------------------------
              
              We consider the following Problem:
              
                Strict DPs: {sel^#(N, XS) -> head^#(afterNth(N, XS))}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: sel^#(N, XS) -> head^#(afterNth(N, XS))
                  
                
                together with the congruence-graph
                
                  ->1:{1}                                                     Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: sel^#(N, XS) -> head^#(afterNth(N, XS))}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {1: sel^#(N, XS) -> head^#(afterNth(N, XS))}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 8:{4}->13:{2}: YES(O(1),O(1))
              ----------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {head^#(cons(N, XS)) -> c_7()}
                Weak DPs: {sel^#(N, XS) -> head^#(afterNth(N, XS))}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: head^#(cons(N, XS)) -> c_7()
                  
                  2: sel^#(N, XS) -> head^#(afterNth(N, XS))
                     -->_1 head^#(cons(N, XS)) -> c_7() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{1}                                                 Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: head^#(cons(N, XS)) -> c_7()}
                  WeakDPs DPs:
                    {2: sel^#(N, XS) -> head^#(afterNth(N, XS))}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: sel^#(N, XS) -> head^#(afterNth(N, XS))
                   , 1: head^#(cons(N, XS)) -> c_7()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 6:{5}: YES(O(1),O(1))
              --------------------------
              
              We consider the following Problem:
              
                Strict DPs: {take^#(N, XS) -> fst^#(splitAt(N, XS))}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: take^#(N, XS) -> fst^#(splitAt(N, XS))
                  
                
                together with the congruence-graph
                
                  ->1:{1}                                                     Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: take^#(N, XS) -> fst^#(splitAt(N, XS))}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {1: take^#(N, XS) -> fst^#(splitAt(N, XS))}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 6:{5}->7:{10}: YES(O(1),O(1))
              ----------------------------------
              
              We consider the following Problem:
              
                Weak DPs: {take^#(N, XS) -> fst^#(splitAt(N, XS))}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: take^#(N, XS) -> fst^#(splitAt(N, XS))
                  
                
                together with the congruence-graph
                
                  ->1:{1}                                                     Weak SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  WeakDPs DPs:
                    {1: take^#(N, XS) -> fst^#(splitAt(N, XS))}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {1: take^#(N, XS) -> fst^#(splitAt(N, XS))}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 4:{6}: YES(O(1),O(1))
              --------------------------
              
              We consider the following Problem:
              
                Strict DPs: {afterNth^#(N, XS) -> snd^#(splitAt(N, XS))}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
                  
                
                together with the congruence-graph
                
                  ->1:{1}                                                     Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 4:{6}->5:{11}: YES(O(1),O(1))
              ----------------------------------
              
              We consider the following Problem:
              
                Weak DPs: {afterNth^#(N, XS) -> snd^#(splitAt(N, XS))}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))
                  
                
                together with the congruence-graph
                
                  ->1:{1}                                                     Weak SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  WeakDPs DPs:
                    {1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {1: afterNth^#(N, XS) -> snd^#(splitAt(N, XS))}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 3:{12}: YES(O(1),O(1))
              ---------------------------
              
              We consider the following Problem:
              
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 1:{13}: subsumed
              ---------------------
              
              This path is subsumed by the proof of paths 1:{13}->2:{14}.
            
            * Path 1:{13}->2:{14}: subsumed
              -----------------------------
              
              This path is subsumed by the proof of paths 1:{13}->2:{14}->11:{8},
                                                          1:{13}->2:{14}->10:{9}.
            
            * Path 1:{13}->2:{14}->11:{8}: YES(O(1),O(1))
              -------------------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                Weak DPs:
                  {  splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                  
                  2: splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3
                  
                  3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                     -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{3}                                                 Weak SCC
                         |
                         `->3:{1}                                             Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                  WeakDPs DPs:
                    {  2: splitAt^#(s(N), cons(X, XS)) ->
                          u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: splitAt^#(s(N), cons(X, XS)) ->
                        u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                   , 1: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 1:{13}->2:{14}->11:{8}->14:{1}: YES(O(1),O(1))
              ---------------------------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {natsFrom^#(N) -> c_1()}
                Weak DPs:
                  {  splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                   , activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: natsFrom^#(N) -> c_1()
                  
                  2: splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3
                  
                  3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                     -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :4
                  
                  4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                     -->_1 natsFrom^#(N) -> c_1() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{3}                                                 Weak SCC
                         |
                         `->3:{4}                                             Weak SCC
                             |
                             `->4:{1}                                         Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: natsFrom^#(N) -> c_1()}
                  WeakDPs DPs:
                    {  2: splitAt^#(s(N), cons(X, XS)) ->
                          u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                     , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: splitAt^#(s(N), cons(X, XS)) ->
                        u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                   , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                   , 1: natsFrom^#(N) -> c_1()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 1:{13}->2:{14}->11:{8}->12:{7}: YES(O(1),O(1))
              ---------------------------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {natsFrom^#(X) -> c_12()}
                Weak DPs:
                  {  splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                   , activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: natsFrom^#(X) -> c_12()
                  
                  2: splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3
                  
                  3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                     -->_1 activate^#(n__natsFrom(X)) -> natsFrom^#(X) :4
                  
                  4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                     -->_1 natsFrom^#(X) -> c_12() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{3}                                                 Weak SCC
                         |
                         `->3:{4}                                             Weak SCC
                             |
                             `->4:{1}                                         Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: natsFrom^#(X) -> c_12()}
                  WeakDPs DPs:
                    {  2: splitAt^#(s(N), cons(X, XS)) ->
                          u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                     , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: splitAt^#(s(N), cons(X, XS)) ->
                        u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                   , 4: activate^#(n__natsFrom(X)) -> natsFrom^#(X)
                   , 1: natsFrom^#(X) -> c_12()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded
            
            * Path 1:{13}->2:{14}->10:{9}: YES(O(1),O(1))
              -------------------------------------------
              
              We consider the following Problem:
              
                Strict DPs: {activate^#(X) -> c_14()}
                Weak DPs:
                  {  splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
                Weak Trs:
                  {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                   , snd(pair(XS, YS)) -> YS
                   , splitAt(0(), XS) -> pair(nil(), XS)
                   , splitAt(s(N), cons(X, XS)) ->
                     u(splitAt(N, activate(XS)), N, X, activate(XS))
                   , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                   , afterNth(N, XS) -> snd(splitAt(N, XS))
                   , natsFrom(X) -> n__natsFrom(X)
                   , activate(n__natsFrom(X)) -> natsFrom(X)
                   , activate(X) -> X}
                StartTerms: basic terms
                Strategy: innermost
              
              Certificate: YES(O(1),O(1))
              
              Proof:
                We consider the the dependency-graph
                
                  1: activate^#(X) -> c_14()
                  
                  2: splitAt^#(s(N), cons(X, XS)) ->
                     u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     -->_1 u^#(pair(YS, ZS), N, X, XS) -> activate^#(X) :3
                  
                  3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                     -->_1 activate^#(X) -> c_14() :1
                  
                
                together with the congruence-graph
                
                  ->1:{2}                                                     Weak SCC
                     |
                     `->2:{3}                                                 Weak SCC
                         |
                         `->3:{1}                                             Noncyclic, trivial, SCC
                  
                  
                  Here dependency-pairs are as follows:
                  
                  Strict DPs:
                    {1: activate^#(X) -> c_14()}
                  WeakDPs DPs:
                    {  2: splitAt^#(s(N), cons(X, XS)) ->
                          u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                     , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)}
                
                The following rules are either leafs or part of trailing weak paths, and thus they can be removed:
                
                  {  2: splitAt^#(s(N), cons(X, XS)) ->
                        u^#(splitAt(N, activate(XS)), N, X, activate(XS))
                   , 3: u^#(pair(YS, ZS), N, X, XS) -> activate^#(X)
                   , 1: activate^#(X) -> c_14()}
                
                We consider the following Problem:
                
                  Weak Trs:
                    {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                     , snd(pair(XS, YS)) -> YS
                     , splitAt(0(), XS) -> pair(nil(), XS)
                     , splitAt(s(N), cons(X, XS)) ->
                       u(splitAt(N, activate(XS)), N, X, activate(XS))
                     , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                     , afterNth(N, XS) -> snd(splitAt(N, XS))
                     , natsFrom(X) -> n__natsFrom(X)
                     , activate(n__natsFrom(X)) -> natsFrom(X)
                     , activate(X) -> X}
                  StartTerms: basic terms
                  Strategy: innermost
                
                Certificate: YES(O(1),O(1))
                
                Proof:
                  We consider the following Problem:
                  
                    Weak Trs:
                      {  natsFrom(N) -> cons(N, n__natsFrom(s(N)))
                       , snd(pair(XS, YS)) -> YS
                       , splitAt(0(), XS) -> pair(nil(), XS)
                       , splitAt(s(N), cons(X, XS)) ->
                         u(splitAt(N, activate(XS)), N, X, activate(XS))
                       , u(pair(YS, ZS), N, X, XS) -> pair(cons(activate(X), YS), ZS)
                       , afterNth(N, XS) -> snd(splitAt(N, XS))
                       , natsFrom(X) -> n__natsFrom(X)
                       , activate(n__natsFrom(X)) -> natsFrom(X)
                       , activate(X) -> X}
                    StartTerms: basic terms
                    Strategy: innermost
                  
                  Certificate: YES(O(1),O(1))
                  
                  Proof:
                    No rule is usable.
                    
                    We consider the following Problem:
                    
                      StartTerms: basic terms
                      Strategy: innermost
                    
                    Certificate: YES(O(1),O(1))
                    
                    Proof:
                      Empty rules are trivially bounded

Hurray, we answered YES(?,O(n^1))