*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        after(0(),XS) -> XS
        after(s(N),cons(X,XS)) -> after(N,activate(XS))
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1}
      Obligation:
        Innermost
        basic terms: {activate,after,from}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      The weightgap principle applies using the following nonconstant growth matrix-interpretation:
        We apply a matrix interpretation of kind constructor based matrix interpretation:
        The following argument positions are considered usable:
          uargs(after) = {2}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                 p(0) = [0]          
          p(activate) = [1] x1 + [0] 
             p(after) = [1] x2 + [11]
              p(cons) = [1] x2 + [0] 
              p(from) = [1] x1 + [1] 
           p(n__from) = [1] x1 + [0] 
                 p(s) = [1] x1 + [0] 
        
        Following rules are strictly oriented:
        after(0(),XS) = [1] XS + [11]        
                      > [1] XS + [0]         
                      = XS                   
        
              from(X) = [1] X + [1]          
                      > [1] X + [0]          
                      = cons(X,n__from(s(X)))
        
              from(X) = [1] X + [1]          
                      > [1] X + [0]          
                      = n__from(X)           
        
        
        Following rules are (at-least) weakly oriented:
                   activate(X) =  [1] X + [0]          
                               >= [1] X + [0]          
                               =  X                    
        
          activate(n__from(X)) =  [1] X + [0]          
                               >= [1] X + [1]          
                               =  from(X)              
        
        after(s(N),cons(X,XS)) =  [1] XS + [11]        
                               >= [1] XS + [11]        
                               =  after(N,activate(XS))
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        after(s(N),cons(X,XS)) -> after(N,activate(XS))
      Weak DP Rules:
        
      Weak TRS Rules:
        after(0(),XS) -> XS
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Signature:
        {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1}
      Obligation:
        Innermost
        basic terms: {activate,after,from}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      The weightgap principle applies using the following nonconstant growth matrix-interpretation:
        We apply a matrix interpretation of kind constructor based matrix interpretation:
        The following argument positions are considered usable:
          uargs(after) = {2}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                 p(0) = [0]          
          p(activate) = [1] x1 + [13]
             p(after) = [1] x2 + [0] 
              p(cons) = [1] x2 + [0] 
              p(from) = [1] x1 + [0] 
           p(n__from) = [1] x1 + [0] 
                 p(s) = [1] x1 + [0] 
        
        Following rules are strictly oriented:
                 activate(X) = [1] X + [13]
                             > [1] X + [0] 
                             = X           
        
        activate(n__from(X)) = [1] X + [13]
                             > [1] X + [0] 
                             = from(X)     
        
        
        Following rules are (at-least) weakly oriented:
                 after(0(),XS) =  [1] XS + [0]         
                               >= [1] XS + [0]         
                               =  XS                   
        
        after(s(N),cons(X,XS)) =  [1] XS + [0]         
                               >= [1] XS + [13]        
                               =  after(N,activate(XS))
        
                       from(X) =  [1] X + [0]          
                               >= [1] X + [0]          
                               =  cons(X,n__from(s(X)))
        
                       from(X) =  [1] X + [0]          
                               >= [1] X + [0]          
                               =  n__from(X)           
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        after(s(N),cons(X,XS)) -> after(N,activate(XS))
      Weak DP Rules:
        
      Weak TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        after(0(),XS) -> XS
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Signature:
        {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1}
      Obligation:
        Innermost
        basic terms: {activate,after,from}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 1, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      The weightgap principle applies using the following nonconstant growth matrix-interpretation:
        We apply a matrix interpretation of kind constructor based matrix interpretation:
        The following argument positions are considered usable:
          uargs(after) = {2}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                 p(0) = [8]                  
          p(activate) = [1] x1 + [0]         
             p(after) = [1] x1 + [1] x2 + [2]
              p(cons) = [1] x2 + [0]         
              p(from) = [0]                  
           p(n__from) = [0]                  
                 p(s) = [1] x1 + [1]         
        
        Following rules are strictly oriented:
        after(s(N),cons(X,XS)) = [1] N + [1] XS + [3] 
                               > [1] N + [1] XS + [2] 
                               = after(N,activate(XS))
        
        
        Following rules are (at-least) weakly oriented:
                 activate(X) =  [1] X + [0]          
                             >= [1] X + [0]          
                             =  X                    
        
        activate(n__from(X)) =  [0]                  
                             >= [0]                  
                             =  from(X)              
        
               after(0(),XS) =  [1] XS + [10]        
                             >= [1] XS + [0]         
                             =  XS                   
        
                     from(X) =  [0]                  
                             >= [0]                  
                             =  cons(X,n__from(s(X)))
        
                     from(X) =  [0]                  
                             >= [0]                  
                             =  n__from(X)           
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        after(0(),XS) -> XS
        after(s(N),cons(X,XS)) -> after(N,activate(XS))
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Signature:
        {activate/1,after/2,from/1} / {0/0,cons/2,n__from/1,s/1}
      Obligation:
        Innermost
        basic terms: {activate,after,from}/{0,cons,n__from,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).