*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(N,0()) -> U41(isNat(N),N)
        plus(N,s(M)) -> U51(isNat(M),M,N)
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
        x(N,0()) -> U61(isNat(N))
        x(N,s(M)) -> U71(isNat(M),M,N)
        x(X1,X2) -> n__x(X1,X2)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      InnermostRuleRemoval
    Proof:
      Arguments of following rules are not normal-forms.
        plus(N,0()) -> U41(isNat(N),N)
        plus(N,s(M)) -> U51(isNat(M),M,N)
        x(N,0()) -> U61(isNat(N))
        x(N,s(M)) -> U71(isNat(M),M,N)
      All above mentioned rules can be savely removed.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
        x(X1,X2) -> n__x(X1,X2)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [3]                            
             p(U11) = [1] x1 + [4] x2 + [0]          
             p(U12) = [1] x1 + [8]                   
             p(U21) = [1] x1 + [8]                   
             p(U31) = [1] x1 + [4] x2 + [0]          
             p(U32) = [1] x1 + [2]                   
             p(U41) = [2] x1 + [1] x2 + [0]          
             p(U51) = [1] x1 + [1] x2 + [10] x3 + [7]
             p(U52) = [2] x1 + [1] x2 + [1] x3 + [6] 
             p(U61) = [12]                           
             p(U71) = [2] x1 + [1] x2 + [6] x3 + [15]
             p(U72) = [1] x1 + [1] x2 + [2] x3 + [1] 
        p(activate) = [1] x1 + [0]                   
           p(isNat) = [4] x1 + [0]                   
            p(n__0) = [3]                            
         p(n__plus) = [1] x1 + [1] x2 + [0]          
            p(n__s) = [1] x1 + [3]                   
            p(n__x) = [1] x1 + [1] x2 + [0]          
            p(plus) = [1] x1 + [1] x2 + [0]          
               p(s) = [1] x1 + [3]                   
              p(tt) = [8]                            
               p(x) = [1] x1 + [1] x2 + [0]          
      
      Following rules are strictly oriented:
            U12(tt()) = [16]                            
                      > [8]                             
                      = tt()                            
      
            U21(tt()) = [16]                            
                      > [8]                             
                      = tt()                            
      
         U31(tt(),V2) = [4] V2 + [8]                    
                      > [4] V2 + [2]                    
                      = U32(isNat(activate(V2)))        
      
            U32(tt()) = [10]                            
                      > [8]                             
                      = tt()                            
      
          U41(tt(),N) = [1] N + [16]                    
                      > [1] N + [0]                     
                      = activate(N)                     
      
        U51(tt(),M,N) = [1] M + [10] N + [15]           
                      > [1] M + [9] N + [6]             
                      = U52(isNat(activate(N))          
                           ,activate(M)                 
                           ,activate(N))                
      
        U52(tt(),M,N) = [1] M + [1] N + [22]            
                      > [1] M + [1] N + [3]             
                      = s(plus(activate(N),activate(M)))
      
            U61(tt()) = [12]                            
                      > [3]                             
                      = 0()                             
      
        U71(tt(),M,N) = [1] M + [6] N + [31]            
                      > [1] M + [6] N + [1]             
                      = U72(isNat(activate(N))          
                           ,activate(M)                 
                           ,activate(N))                
      
        U72(tt(),M,N) = [1] M + [2] N + [9]             
                      > [1] M + [2] N + [0]             
                      = plus(x(activate(N),activate(M)) 
                            ,activate(N))               
      
        isNat(n__0()) = [12]                            
                      > [8]                             
                      = tt()                            
      
      isNat(n__s(V1)) = [4] V1 + [12]                   
                      > [4] V1 + [8]                    
                      = U21(isNat(activate(V1)))        
      
      
      Following rules are (at-least) weakly oriented:
                           0() =  [3]                     
                               >= [3]                     
                               =  n__0()                  
      
                  U11(tt(),V2) =  [4] V2 + [8]            
                               >= [4] V2 + [8]            
                               =  U12(isNat(activate(V2)))
      
                   activate(X) =  [1] X + [0]             
                               >= [1] X + [0]             
                               =  X                       
      
              activate(n__0()) =  [3]                     
                               >= [3]                     
                               =  0()                     
      
      activate(n__plus(X1,X2)) =  [1] X1 + [1] X2 + [0]   
                               >= [1] X1 + [1] X2 + [0]   
                               =  plus(X1,X2)             
      
             activate(n__s(X)) =  [1] X + [3]             
                               >= [1] X + [3]             
                               =  s(X)                    
      
         activate(n__x(X1,X2)) =  [1] X1 + [1] X2 + [0]   
                               >= [1] X1 + [1] X2 + [0]   
                               =  x(X1,X2)                
      
         isNat(n__plus(V1,V2)) =  [4] V1 + [4] V2 + [0]   
                               >= [4] V1 + [4] V2 + [0]   
                               =  U11(isNat(activate(V1)) 
                                     ,activate(V2))       
      
            isNat(n__x(V1,V2)) =  [4] V1 + [4] V2 + [0]   
                               >= [4] V1 + [4] V2 + [0]   
                               =  U31(isNat(activate(V1)) 
                                     ,activate(V2))       
      
                   plus(X1,X2) =  [1] X1 + [1] X2 + [0]   
                               >= [1] X1 + [1] X2 + [0]   
                               =  n__plus(X1,X2)          
      
                          s(X) =  [1] X + [3]             
                               >= [1] X + [3]             
                               =  n__s(X)                 
      
                      x(X1,X2) =  [1] X1 + [1] X2 + [0]   
                               >= [1] X1 + [1] X2 + [0]   
                               =  n__x(X1,X2)             
      
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
        x(X1,X2) -> n__x(X1,X2)
      Weak DP Rules:
        
      Weak TRS Rules:
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        isNat(n__0()) -> tt()
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [2]                             
             p(U11) = [1] x1 + [1] x2 + [1]           
             p(U12) = [1] x1 + [1]                    
             p(U21) = [1] x1 + [2]                    
             p(U31) = [1] x1 + [1] x2 + [2]           
             p(U32) = [1] x1 + [2]                    
             p(U41) = [12] x1 + [1] x2 + [0]          
             p(U51) = [10] x1 + [1] x2 + [7] x3 + [10]
             p(U52) = [4] x1 + [1] x2 + [3] x3 + [5]  
             p(U61) = [2] x1 + [1]                    
             p(U71) = [9] x1 + [8] x2 + [11] x3 + [12]
             p(U72) = [9] x1 + [2] x2 + [2] x3 + [1]  
        p(activate) = [1] x1 + [2]                    
           p(isNat) = [1] x1 + [0]                    
            p(n__0) = [2]                             
         p(n__plus) = [1] x1 + [1] x2 + [5]           
            p(n__s) = [1] x1 + [4]                    
            p(n__x) = [1] x1 + [1] x2 + [6]           
            p(plus) = [1] x1 + [1] x2 + [5]           
               p(s) = [1] x1 + [4]                    
              p(tt) = [2]                             
               p(x) = [1] x1 + [1] x2 + [8]           
      
      Following rules are strictly oriented:
                   activate(X) = [1] X + [2]          
                               > [1] X + [0]          
                               = X                    
      
              activate(n__0()) = [4]                  
                               > [2]                  
                               = 0()                  
      
      activate(n__plus(X1,X2)) = [1] X1 + [1] X2 + [7]
                               > [1] X1 + [1] X2 + [5]
                               = plus(X1,X2)          
      
             activate(n__s(X)) = [1] X + [6]          
                               > [1] X + [4]          
                               = s(X)                 
      
                      x(X1,X2) = [1] X1 + [1] X2 + [8]
                               > [1] X1 + [1] X2 + [6]
                               = n__x(X1,X2)          
      
      
      Following rules are (at-least) weakly oriented:
                        0() =  [2]                             
                            >= [2]                             
                            =  n__0()                          
      
               U11(tt(),V2) =  [1] V2 + [3]                    
                            >= [1] V2 + [3]                    
                            =  U12(isNat(activate(V2)))        
      
                  U12(tt()) =  [3]                             
                            >= [2]                             
                            =  tt()                            
      
                  U21(tt()) =  [4]                             
                            >= [2]                             
                            =  tt()                            
      
               U31(tt(),V2) =  [1] V2 + [4]                    
                            >= [1] V2 + [4]                    
                            =  U32(isNat(activate(V2)))        
      
                  U32(tt()) =  [4]                             
                            >= [2]                             
                            =  tt()                            
      
                U41(tt(),N) =  [1] N + [24]                    
                            >= [1] N + [2]                     
                            =  activate(N)                     
      
              U51(tt(),M,N) =  [1] M + [7] N + [30]            
                            >= [1] M + [7] N + [21]            
                            =  U52(isNat(activate(N))          
                                  ,activate(M)                 
                                  ,activate(N))                
      
              U52(tt(),M,N) =  [1] M + [3] N + [13]            
                            >= [1] M + [1] N + [13]            
                            =  s(plus(activate(N),activate(M)))
      
                  U61(tt()) =  [5]                             
                            >= [2]                             
                            =  0()                             
      
              U71(tt(),M,N) =  [8] M + [11] N + [30]           
                            >= [2] M + [11] N + [27]           
                            =  U72(isNat(activate(N))          
                                  ,activate(M)                 
                                  ,activate(N))                
      
              U72(tt(),M,N) =  [2] M + [2] N + [19]            
                            >= [1] M + [2] N + [19]            
                            =  plus(x(activate(N),activate(M)) 
                                   ,activate(N))               
      
      activate(n__x(X1,X2)) =  [1] X1 + [1] X2 + [8]           
                            >= [1] X1 + [1] X2 + [8]           
                            =  x(X1,X2)                        
      
              isNat(n__0()) =  [2]                             
                            >= [2]                             
                            =  tt()                            
      
      isNat(n__plus(V1,V2)) =  [1] V1 + [1] V2 + [5]           
                            >= [1] V1 + [1] V2 + [5]           
                            =  U11(isNat(activate(V1))         
                                  ,activate(V2))               
      
            isNat(n__s(V1)) =  [1] V1 + [4]                    
                            >= [1] V1 + [4]                    
                            =  U21(isNat(activate(V1)))        
      
         isNat(n__x(V1,V2)) =  [1] V1 + [1] V2 + [6]           
                            >= [1] V1 + [1] V2 + [6]           
                            =  U31(isNat(activate(V1))         
                                  ,activate(V2))               
      
                plus(X1,X2) =  [1] X1 + [1] X2 + [5]           
                            >= [1] X1 + [1] X2 + [5]           
                            =  n__plus(X1,X2)                  
      
                       s(X) =  [1] X + [4]                     
                            >= [1] X + [4]                     
                            =  n__s(X)                         
      
*** 1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        isNat(n__0()) -> tt()
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        x(X1,X2) -> n__x(X1,X2)
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [2]                            
             p(U11) = [1] x1 + [4] x2 + [2]          
             p(U12) = [1] x1 + [0]                   
             p(U21) = [1] x1 + [0]                   
             p(U31) = [1] x1 + [4] x2 + [0]          
             p(U32) = [1] x1 + [1]                   
             p(U41) = [1] x2 + [8]                   
             p(U51) = [6] x1 + [8] x2 + [5] x3 + [0] 
             p(U52) = [1] x1 + [2] x2 + [1] x3 + [0] 
             p(U61) = [1] x1 + [12]                  
             p(U71) = [4] x1 + [2] x2 + [12] x3 + [0]
             p(U72) = [2] x1 + [1] x2 + [4] x3 + [2] 
        p(activate) = [1] x1 + [0]                   
           p(isNat) = [4] x1 + [0]                   
            p(n__0) = [2]                            
         p(n__plus) = [1] x1 + [1] x2 + [1]          
            p(n__s) = [1] x1 + [0]                   
            p(n__x) = [1] x1 + [1] x2 + [0]          
            p(plus) = [1] x1 + [1] x2 + [1]          
               p(s) = [1] x1 + [0]                   
              p(tt) = [4]                            
               p(x) = [1] x1 + [1] x2 + [0]          
      
      Following rules are strictly oriented:
               U11(tt(),V2) = [4] V2 + [6]            
                            > [4] V2 + [0]            
                            = U12(isNat(activate(V2)))
      
      isNat(n__plus(V1,V2)) = [4] V1 + [4] V2 + [4]   
                            > [4] V1 + [4] V2 + [2]   
                            = U11(isNat(activate(V1)) 
                                 ,activate(V2))       
      
      
      Following rules are (at-least) weakly oriented:
                           0() =  [2]                             
                               >= [2]                             
                               =  n__0()                          
      
                     U12(tt()) =  [4]                             
                               >= [4]                             
                               =  tt()                            
      
                     U21(tt()) =  [4]                             
                               >= [4]                             
                               =  tt()                            
      
                  U31(tt(),V2) =  [4] V2 + [4]                    
                               >= [4] V2 + [1]                    
                               =  U32(isNat(activate(V2)))        
      
                     U32(tt()) =  [5]                             
                               >= [4]                             
                               =  tt()                            
      
                   U41(tt(),N) =  [1] N + [8]                     
                               >= [1] N + [0]                     
                               =  activate(N)                     
      
                 U51(tt(),M,N) =  [8] M + [5] N + [24]            
                               >= [2] M + [5] N + [0]             
                               =  U52(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U52(tt(),M,N) =  [2] M + [1] N + [4]             
                               >= [1] M + [1] N + [1]             
                               =  s(plus(activate(N),activate(M)))
      
                     U61(tt()) =  [16]                            
                               >= [2]                             
                               =  0()                             
      
                 U71(tt(),M,N) =  [2] M + [12] N + [16]           
                               >= [1] M + [12] N + [2]            
                               =  U72(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U72(tt(),M,N) =  [1] M + [4] N + [10]            
                               >= [1] M + [2] N + [1]             
                               =  plus(x(activate(N),activate(M)) 
                                      ,activate(N))               
      
                   activate(X) =  [1] X + [0]                     
                               >= [1] X + [0]                     
                               =  X                               
      
              activate(n__0()) =  [2]                             
                               >= [2]                             
                               =  0()                             
      
      activate(n__plus(X1,X2)) =  [1] X1 + [1] X2 + [1]           
                               >= [1] X1 + [1] X2 + [1]           
                               =  plus(X1,X2)                     
      
             activate(n__s(X)) =  [1] X + [0]                     
                               >= [1] X + [0]                     
                               =  s(X)                            
      
         activate(n__x(X1,X2)) =  [1] X1 + [1] X2 + [0]           
                               >= [1] X1 + [1] X2 + [0]           
                               =  x(X1,X2)                        
      
                 isNat(n__0()) =  [8]                             
                               >= [4]                             
                               =  tt()                            
      
               isNat(n__s(V1)) =  [4] V1 + [0]                    
                               >= [4] V1 + [0]                    
                               =  U21(isNat(activate(V1)))        
      
            isNat(n__x(V1,V2)) =  [4] V1 + [4] V2 + [0]           
                               >= [4] V1 + [4] V2 + [0]           
                               =  U31(isNat(activate(V1))         
                                     ,activate(V2))               
      
                   plus(X1,X2) =  [1] X1 + [1] X2 + [1]           
                               >= [1] X1 + [1] X2 + [1]           
                               =  n__plus(X1,X2)                  
      
                          s(X) =  [1] X + [0]                     
                               >= [1] X + [0]                     
                               =  n__s(X)                         
      
                      x(X1,X2) =  [1] X1 + [1] X2 + [0]           
                               >= [1] X1 + [1] X2 + [0]           
                               =  n__x(X1,X2)                     
      
*** 1.1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> n__0()
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        x(X1,X2) -> n__x(X1,X2)
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [0]                            
             p(U11) = [1] x1 + [1] x2 + [0]          
             p(U12) = [1] x1 + [0]                   
             p(U21) = [1] x1 + [0]                   
             p(U31) = [1] x1 + [1] x2 + [0]          
             p(U32) = [1] x1 + [0]                   
             p(U41) = [1] x2 + [9]                   
             p(U51) = [1] x1 + [1] x2 + [14] x3 + [4]
             p(U52) = [1] x1 + [1] x2 + [13] x3 + [2]
             p(U61) = [9] x1 + [5]                   
             p(U71) = [10] x1 + [8] x2 + [5] x3 + [3]
             p(U72) = [1] x1 + [4] x2 + [4] x3 + [8] 
        p(activate) = [1] x1 + [0]                   
           p(isNat) = [1] x1 + [2]                   
            p(n__0) = [0]                            
         p(n__plus) = [1] x1 + [1] x2 + [0]          
            p(n__s) = [1] x1 + [0]                   
            p(n__x) = [1] x1 + [1] x2 + [1]          
            p(plus) = [1] x1 + [1] x2 + [0]          
               p(s) = [1] x1 + [0]                   
              p(tt) = [2]                            
               p(x) = [1] x1 + [1] x2 + [1]          
      
      Following rules are strictly oriented:
      isNat(n__x(V1,V2)) = [1] V1 + [1] V2 + [3]  
                         > [1] V1 + [1] V2 + [2]  
                         = U31(isNat(activate(V1))
                              ,activate(V2))      
      
      
      Following rules are (at-least) weakly oriented:
                           0() =  [0]                             
                               >= [0]                             
                               =  n__0()                          
      
                  U11(tt(),V2) =  [1] V2 + [2]                    
                               >= [1] V2 + [2]                    
                               =  U12(isNat(activate(V2)))        
      
                     U12(tt()) =  [2]                             
                               >= [2]                             
                               =  tt()                            
      
                     U21(tt()) =  [2]                             
                               >= [2]                             
                               =  tt()                            
      
                  U31(tt(),V2) =  [1] V2 + [2]                    
                               >= [1] V2 + [2]                    
                               =  U32(isNat(activate(V2)))        
      
                     U32(tt()) =  [2]                             
                               >= [2]                             
                               =  tt()                            
      
                   U41(tt(),N) =  [1] N + [9]                     
                               >= [1] N + [0]                     
                               =  activate(N)                     
      
                 U51(tt(),M,N) =  [1] M + [14] N + [6]            
                               >= [1] M + [14] N + [4]            
                               =  U52(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U52(tt(),M,N) =  [1] M + [13] N + [4]            
                               >= [1] M + [1] N + [0]             
                               =  s(plus(activate(N),activate(M)))
      
                     U61(tt()) =  [23]                            
                               >= [0]                             
                               =  0()                             
      
                 U71(tt(),M,N) =  [8] M + [5] N + [23]            
                               >= [4] M + [5] N + [10]            
                               =  U72(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U72(tt(),M,N) =  [4] M + [4] N + [10]            
                               >= [1] M + [2] N + [1]             
                               =  plus(x(activate(N),activate(M)) 
                                      ,activate(N))               
      
                   activate(X) =  [1] X + [0]                     
                               >= [1] X + [0]                     
                               =  X                               
      
              activate(n__0()) =  [0]                             
                               >= [0]                             
                               =  0()                             
      
      activate(n__plus(X1,X2)) =  [1] X1 + [1] X2 + [0]           
                               >= [1] X1 + [1] X2 + [0]           
                               =  plus(X1,X2)                     
      
             activate(n__s(X)) =  [1] X + [0]                     
                               >= [1] X + [0]                     
                               =  s(X)                            
      
         activate(n__x(X1,X2)) =  [1] X1 + [1] X2 + [1]           
                               >= [1] X1 + [1] X2 + [1]           
                               =  x(X1,X2)                        
      
                 isNat(n__0()) =  [2]                             
                               >= [2]                             
                               =  tt()                            
      
         isNat(n__plus(V1,V2)) =  [1] V1 + [1] V2 + [2]           
                               >= [1] V1 + [1] V2 + [2]           
                               =  U11(isNat(activate(V1))         
                                     ,activate(V2))               
      
               isNat(n__s(V1)) =  [1] V1 + [2]                    
                               >= [1] V1 + [2]                    
                               =  U21(isNat(activate(V1)))        
      
                   plus(X1,X2) =  [1] X1 + [1] X2 + [0]           
                               >= [1] X1 + [1] X2 + [0]           
                               =  n__plus(X1,X2)                  
      
                          s(X) =  [1] X + [0]                     
                               >= [1] X + [0]                     
                               =  n__s(X)                         
      
                      x(X1,X2) =  [1] X1 + [1] X2 + [1]           
                               >= [1] X1 + [1] X2 + [1]           
                               =  n__x(X1,X2)                     
      
*** 1.1.1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        0() -> n__0()
        activate(n__x(X1,X2)) -> x(X1,X2)
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        x(X1,X2) -> n__x(X1,X2)
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [3]                              
             p(U11) = [1] x1 + [8] x2 + [8]            
             p(U12) = [1] x1 + [3]                     
             p(U21) = [1] x1 + [2]                     
             p(U31) = [1] x1 + [8] x2 + [8]            
             p(U32) = [1] x1 + [8]                     
             p(U41) = [1] x2 + [5]                     
             p(U51) = [1] x1 + [1] x2 + [10] x3 + [4]  
             p(U52) = [1] x1 + [1] x2 + [2] x3 + [1]   
             p(U61) = [3] x1 + [2]                     
             p(U71) = [2] x1 + [12] x2 + [10] x3 + [15]
             p(U72) = [1] x1 + [12] x2 + [2] x3 + [8]  
        p(activate) = [1] x1 + [1]                     
           p(isNat) = [8] x1 + [0]                     
            p(n__0) = [2]                              
         p(n__plus) = [1] x1 + [1] x2 + [3]            
            p(n__s) = [1] x1 + [2]                     
            p(n__x) = [1] x1 + [1] x2 + [3]            
            p(plus) = [1] x1 + [1] x2 + [3]            
               p(s) = [1] x1 + [2]                     
              p(tt) = [8]                              
               p(x) = [1] x1 + [1] x2 + [3]            
      
      Following rules are strictly oriented:
                        0() = [3]                  
                            > [2]                  
                            = n__0()               
      
      activate(n__x(X1,X2)) = [1] X1 + [1] X2 + [4]
                            > [1] X1 + [1] X2 + [3]
                            = x(X1,X2)             
      
      
      Following rules are (at-least) weakly oriented:
                  U11(tt(),V2) =  [8] V2 + [16]                   
                               >= [8] V2 + [11]                   
                               =  U12(isNat(activate(V2)))        
      
                     U12(tt()) =  [11]                            
                               >= [8]                             
                               =  tt()                            
      
                     U21(tt()) =  [10]                            
                               >= [8]                             
                               =  tt()                            
      
                  U31(tt(),V2) =  [8] V2 + [16]                   
                               >= [8] V2 + [16]                   
                               =  U32(isNat(activate(V2)))        
      
                     U32(tt()) =  [16]                            
                               >= [8]                             
                               =  tt()                            
      
                   U41(tt(),N) =  [1] N + [5]                     
                               >= [1] N + [1]                     
                               =  activate(N)                     
      
                 U51(tt(),M,N) =  [1] M + [10] N + [12]           
                               >= [1] M + [10] N + [12]           
                               =  U52(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U52(tt(),M,N) =  [1] M + [2] N + [9]             
                               >= [1] M + [1] N + [7]             
                               =  s(plus(activate(N),activate(M)))
      
                     U61(tt()) =  [26]                            
                               >= [3]                             
                               =  0()                             
      
                 U71(tt(),M,N) =  [12] M + [10] N + [31]          
                               >= [12] M + [10] N + [30]          
                               =  U72(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U72(tt(),M,N) =  [12] M + [2] N + [16]           
                               >= [1] M + [2] N + [9]             
                               =  plus(x(activate(N),activate(M)) 
                                      ,activate(N))               
      
                   activate(X) =  [1] X + [1]                     
                               >= [1] X + [0]                     
                               =  X                               
      
              activate(n__0()) =  [3]                             
                               >= [3]                             
                               =  0()                             
      
      activate(n__plus(X1,X2)) =  [1] X1 + [1] X2 + [4]           
                               >= [1] X1 + [1] X2 + [3]           
                               =  plus(X1,X2)                     
      
             activate(n__s(X)) =  [1] X + [3]                     
                               >= [1] X + [2]                     
                               =  s(X)                            
      
                 isNat(n__0()) =  [16]                            
                               >= [8]                             
                               =  tt()                            
      
         isNat(n__plus(V1,V2)) =  [8] V1 + [8] V2 + [24]          
                               >= [8] V1 + [8] V2 + [24]          
                               =  U11(isNat(activate(V1))         
                                     ,activate(V2))               
      
               isNat(n__s(V1)) =  [8] V1 + [16]                   
                               >= [8] V1 + [10]                   
                               =  U21(isNat(activate(V1)))        
      
            isNat(n__x(V1,V2)) =  [8] V1 + [8] V2 + [24]          
                               >= [8] V1 + [8] V2 + [24]          
                               =  U31(isNat(activate(V1))         
                                     ,activate(V2))               
      
                   plus(X1,X2) =  [1] X1 + [1] X2 + [3]           
                               >= [1] X1 + [1] X2 + [3]           
                               =  n__plus(X1,X2)                  
      
                          s(X) =  [1] X + [2]                     
                               >= [1] X + [2]                     
                               =  n__s(X)                         
      
                      x(X1,X2) =  [1] X1 + [1] X2 + [3]           
                               >= [1] X1 + [1] X2 + [3]           
                               =  n__x(X1,X2)                     
      
*** 1.1.1.1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        x(X1,X2) -> n__x(X1,X2)
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [13]                           
             p(U11) = [1] x1 + [2] x2 + [0]          
             p(U12) = [1] x1 + [0]                   
             p(U21) = [1] x1 + [4]                   
             p(U31) = [1] x1 + [2] x2 + [0]          
             p(U32) = [1] x1 + [0]                   
             p(U41) = [6] x1 + [1] x2 + [0]          
             p(U51) = [6] x1 + [1] x2 + [6] x3 + [0] 
             p(U52) = [2] x1 + [1] x2 + [2] x3 + [7] 
             p(U61) = [4] x1 + [0]                   
             p(U71) = [7] x1 + [8] x2 + [6] x3 + [1] 
             p(U72) = [1] x1 + [1] x2 + [4] x3 + [14]
        p(activate) = [1] x1 + [2]                   
           p(isNat) = [2] x1 + [0]                   
            p(n__0) = [11]                           
         p(n__plus) = [1] x1 + [1] x2 + [4]          
            p(n__s) = [1] x1 + [4]                   
            p(n__x) = [1] x1 + [1] x2 + [6]          
            p(plus) = [1] x1 + [1] x2 + [6]          
               p(s) = [1] x1 + [4]                   
              p(tt) = [4]                            
               p(x) = [1] x1 + [1] x2 + [6]          
      
      Following rules are strictly oriented:
      plus(X1,X2) = [1] X1 + [1] X2 + [6]
                  > [1] X1 + [1] X2 + [4]
                  = n__plus(X1,X2)       
      
      
      Following rules are (at-least) weakly oriented:
                           0() =  [13]                            
                               >= [11]                            
                               =  n__0()                          
      
                  U11(tt(),V2) =  [2] V2 + [4]                    
                               >= [2] V2 + [4]                    
                               =  U12(isNat(activate(V2)))        
      
                     U12(tt()) =  [4]                             
                               >= [4]                             
                               =  tt()                            
      
                     U21(tt()) =  [8]                             
                               >= [4]                             
                               =  tt()                            
      
                  U31(tt(),V2) =  [2] V2 + [4]                    
                               >= [2] V2 + [4]                    
                               =  U32(isNat(activate(V2)))        
      
                     U32(tt()) =  [4]                             
                               >= [4]                             
                               =  tt()                            
      
                   U41(tt(),N) =  [1] N + [24]                    
                               >= [1] N + [2]                     
                               =  activate(N)                     
      
                 U51(tt(),M,N) =  [1] M + [6] N + [24]            
                               >= [1] M + [6] N + [21]            
                               =  U52(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U52(tt(),M,N) =  [1] M + [2] N + [15]            
                               >= [1] M + [1] N + [14]            
                               =  s(plus(activate(N),activate(M)))
      
                     U61(tt()) =  [16]                            
                               >= [13]                            
                               =  0()                             
      
                 U71(tt(),M,N) =  [8] M + [6] N + [29]            
                               >= [1] M + [6] N + [28]            
                               =  U72(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U72(tt(),M,N) =  [1] M + [4] N + [18]            
                               >= [1] M + [2] N + [18]            
                               =  plus(x(activate(N),activate(M)) 
                                      ,activate(N))               
      
                   activate(X) =  [1] X + [2]                     
                               >= [1] X + [0]                     
                               =  X                               
      
              activate(n__0()) =  [13]                            
                               >= [13]                            
                               =  0()                             
      
      activate(n__plus(X1,X2)) =  [1] X1 + [1] X2 + [6]           
                               >= [1] X1 + [1] X2 + [6]           
                               =  plus(X1,X2)                     
      
             activate(n__s(X)) =  [1] X + [6]                     
                               >= [1] X + [4]                     
                               =  s(X)                            
      
         activate(n__x(X1,X2)) =  [1] X1 + [1] X2 + [8]           
                               >= [1] X1 + [1] X2 + [6]           
                               =  x(X1,X2)                        
      
                 isNat(n__0()) =  [22]                            
                               >= [4]                             
                               =  tt()                            
      
         isNat(n__plus(V1,V2)) =  [2] V1 + [2] V2 + [8]           
                               >= [2] V1 + [2] V2 + [8]           
                               =  U11(isNat(activate(V1))         
                                     ,activate(V2))               
      
               isNat(n__s(V1)) =  [2] V1 + [8]                    
                               >= [2] V1 + [8]                    
                               =  U21(isNat(activate(V1)))        
      
            isNat(n__x(V1,V2)) =  [2] V1 + [2] V2 + [12]          
                               >= [2] V1 + [2] V2 + [8]           
                               =  U31(isNat(activate(V1))         
                                     ,activate(V2))               
      
                          s(X) =  [1] X + [4]                     
                               >= [1] X + [4]                     
                               =  n__s(X)                         
      
                      x(X1,X2) =  [1] X1 + [1] X2 + [6]           
                               >= [1] X1 + [1] X2 + [6]           
                               =  n__x(X1,X2)                     
      
*** 1.1.1.1.1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        s(X) -> n__s(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(X1,X2) -> n__plus(X1,X2)
        x(X1,X2) -> n__x(X1,X2)
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just any strict-rules, greedy = NoGreedy}
    Proof:
      We apply a matrix interpretation of kind constructor based matrix interpretation:
      The following argument positions are considered usable:
        uargs(U11) = {1,2},
        uargs(U12) = {1},
        uargs(U21) = {1},
        uargs(U31) = {1,2},
        uargs(U32) = {1},
        uargs(U52) = {1,2,3},
        uargs(U72) = {1,2,3},
        uargs(isNat) = {1},
        uargs(plus) = {1,2},
        uargs(s) = {1},
        uargs(x) = {1,2}
      
      Following symbols are considered usable:
        {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}
      TcT has computed the following interpretation:
               p(0) = [3]                            
             p(U11) = [1] x1 + [1] x2 + [7]          
             p(U12) = [1] x1 + [2]                   
             p(U21) = [1] x1 + [3]                   
             p(U31) = [1] x1 + [1] x2 + [0]          
             p(U32) = [1] x1 + [1]                   
             p(U41) = [2] x2 + [1]                   
             p(U51) = [2] x1 + [4] x2 + [7] x3 + [13]
             p(U52) = [6] x1 + [4] x2 + [1] x3 + [2] 
             p(U61) = [8] x1 + [2]                   
             p(U71) = [8] x1 + [1] x2 + [10] x3 + [4]
             p(U72) = [2] x1 + [1] x2 + [8] x3 + [10]
        p(activate) = [1] x1 + [1]                   
           p(isNat) = [1] x1 + [1]                   
            p(n__0) = [2]                            
         p(n__plus) = [1] x1 + [1] x2 + [9]          
            p(n__s) = [1] x1 + [6]                   
            p(n__x) = [1] x1 + [1] x2 + [2]          
            p(plus) = [1] x1 + [1] x2 + [10]         
               p(s) = [1] x1 + [7]                   
              p(tt) = [3]                            
               p(x) = [1] x1 + [1] x2 + [3]          
      
      Following rules are strictly oriented:
      s(X) = [1] X + [7]
           > [1] X + [6]
           = n__s(X)    
      
      
      Following rules are (at-least) weakly oriented:
                           0() =  [3]                             
                               >= [2]                             
                               =  n__0()                          
      
                  U11(tt(),V2) =  [1] V2 + [10]                   
                               >= [1] V2 + [4]                    
                               =  U12(isNat(activate(V2)))        
      
                     U12(tt()) =  [5]                             
                               >= [3]                             
                               =  tt()                            
      
                     U21(tt()) =  [6]                             
                               >= [3]                             
                               =  tt()                            
      
                  U31(tt(),V2) =  [1] V2 + [3]                    
                               >= [1] V2 + [3]                    
                               =  U32(isNat(activate(V2)))        
      
                     U32(tt()) =  [4]                             
                               >= [3]                             
                               =  tt()                            
      
                   U41(tt(),N) =  [2] N + [1]                     
                               >= [1] N + [1]                     
                               =  activate(N)                     
      
                 U51(tt(),M,N) =  [4] M + [7] N + [19]            
                               >= [4] M + [7] N + [19]            
                               =  U52(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U52(tt(),M,N) =  [4] M + [1] N + [20]            
                               >= [1] M + [1] N + [19]            
                               =  s(plus(activate(N),activate(M)))
      
                     U61(tt()) =  [26]                            
                               >= [3]                             
                               =  0()                             
      
                 U71(tt(),M,N) =  [1] M + [10] N + [28]           
                               >= [1] M + [10] N + [23]           
                               =  U72(isNat(activate(N))          
                                     ,activate(M)                 
                                     ,activate(N))                
      
                 U72(tt(),M,N) =  [1] M + [8] N + [16]            
                               >= [1] M + [2] N + [16]            
                               =  plus(x(activate(N),activate(M)) 
                                      ,activate(N))               
      
                   activate(X) =  [1] X + [1]                     
                               >= [1] X + [0]                     
                               =  X                               
      
              activate(n__0()) =  [3]                             
                               >= [3]                             
                               =  0()                             
      
      activate(n__plus(X1,X2)) =  [1] X1 + [1] X2 + [10]          
                               >= [1] X1 + [1] X2 + [10]          
                               =  plus(X1,X2)                     
      
             activate(n__s(X)) =  [1] X + [7]                     
                               >= [1] X + [7]                     
                               =  s(X)                            
      
         activate(n__x(X1,X2)) =  [1] X1 + [1] X2 + [3]           
                               >= [1] X1 + [1] X2 + [3]           
                               =  x(X1,X2)                        
      
                 isNat(n__0()) =  [3]                             
                               >= [3]                             
                               =  tt()                            
      
         isNat(n__plus(V1,V2)) =  [1] V1 + [1] V2 + [10]          
                               >= [1] V1 + [1] V2 + [10]          
                               =  U11(isNat(activate(V1))         
                                     ,activate(V2))               
      
               isNat(n__s(V1)) =  [1] V1 + [7]                    
                               >= [1] V1 + [5]                    
                               =  U21(isNat(activate(V1)))        
      
            isNat(n__x(V1,V2)) =  [1] V1 + [1] V2 + [3]           
                               >= [1] V1 + [1] V2 + [3]           
                               =  U31(isNat(activate(V1))         
                                     ,activate(V2))               
      
                   plus(X1,X2) =  [1] X1 + [1] X2 + [10]          
                               >= [1] X1 + [1] X2 + [9]           
                               =  n__plus(X1,X2)                  
      
                      x(X1,X2) =  [1] X1 + [1] X2 + [3]           
                               >= [1] X1 + [1] X2 + [2]           
                               =  n__x(X1,X2)                     
      
*** 1.1.1.1.1.1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        0() -> n__0()
        U11(tt(),V2) -> U12(isNat(activate(V2)))
        U12(tt()) -> tt()
        U21(tt()) -> tt()
        U31(tt(),V2) -> U32(isNat(activate(V2)))
        U32(tt()) -> tt()
        U41(tt(),N) -> activate(N)
        U51(tt(),M,N) -> U52(isNat(activate(N)),activate(M),activate(N))
        U52(tt(),M,N) -> s(plus(activate(N),activate(M)))
        U61(tt()) -> 0()
        U71(tt(),M,N) -> U72(isNat(activate(N)),activate(M),activate(N))
        U72(tt(),M,N) -> plus(x(activate(N),activate(M)),activate(N))
        activate(X) -> X
        activate(n__0()) -> 0()
        activate(n__plus(X1,X2)) -> plus(X1,X2)
        activate(n__s(X)) -> s(X)
        activate(n__x(X1,X2)) -> x(X1,X2)
        isNat(n__0()) -> tt()
        isNat(n__plus(V1,V2)) -> U11(isNat(activate(V1)),activate(V2))
        isNat(n__s(V1)) -> U21(isNat(activate(V1)))
        isNat(n__x(V1,V2)) -> U31(isNat(activate(V1)),activate(V2))
        plus(X1,X2) -> n__plus(X1,X2)
        s(X) -> n__s(X)
        x(X1,X2) -> n__x(X1,X2)
      Signature:
        {0/0,U11/2,U12/1,U21/1,U31/2,U32/1,U41/2,U51/3,U52/3,U61/1,U71/3,U72/3,activate/1,isNat/1,plus/2,s/1,x/2} / {n__0/0,n__plus/2,n__s/1,n__x/2,tt/0}
      Obligation:
        Innermost
        basic terms: {0,U11,U12,U21,U31,U32,U41,U51,U52,U61,U71,U72,activate,isNat,plus,s,x}/{n__0,n__plus,n__s,n__x,tt}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).