*** 1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
        sel(0(),cons(X,Y)) -> X
        sel(s(X),cons(Y,Z)) -> sel(X,activate(Z))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {activate/1,from/1,sel/2} / {0/0,cons/2,n__from/1,s/1}
      Obligation:
        Full
        basic terms: {activate,from,sel}/{0,cons,n__from,s}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following weak dependency pairs:
      
      Strict DPs
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Strict TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
        sel(0(),cons(X,Y)) -> X
        sel(s(X),cons(Y,Z)) -> sel(X,activate(Z))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {activate/1,from/1,sel/2,activate#/1,from#/1,sel#/2} / {0/0,cons/2,n__from/1,s/1,c_1/1,c_2/1,c_3/2,c_4/1,c_5/1,c_6/1}
      Obligation:
        Full
        basic terms: {activate#,from#,sel#}/{0,cons,n__from,s}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
*** 1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Strict TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {activate/1,from/1,sel/2,activate#/1,from#/1,sel#/2} / {0/0,cons/2,n__from/1,s/1,c_1/1,c_2/1,c_3/2,c_4/1,c_5/1,c_6/1}
      Obligation:
        Full
        basic terms: {activate#,from#,sel#}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, 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(sel#) = {2},
          uargs(c_2) = {1},
          uargs(c_6) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                  p(0) = [0]         
           p(activate) = [1] x1 + [0]
               p(cons) = [1] x2 + [5]
               p(from) = [1] x1 + [0]
            p(n__from) = [1] x1 + [0]
                  p(s) = [1] x1 + [0]
                p(sel) = [0]         
          p(activate#) = [3] x1 + [0]
              p(from#) = [3] x1 + [0]
               p(sel#) = [1] x2 + [0]
                p(c_1) = [3] x1 + [0]
                p(c_2) = [1] x1 + [0]
                p(c_3) = [3] x1 + [0]
                p(c_4) = [3] x1 + [0]
                p(c_5) = [0]         
                p(c_6) = [1] x1 + [0]
        
        Following rules are strictly oriented:
         sel#(0(),cons(X,Y)) = [1] Y + [5]             
                             > [0]                     
                             = c_5(X)                  
        
        sel#(s(X),cons(Y,Z)) = [1] Z + [5]             
                             > [1] Z + [0]             
                             = c_6(sel#(X,activate(Z)))
        
        
        Following rules are (at-least) weakly oriented:
                 activate#(X) =  [3] X + [0]          
                              >= [3] X + [0]          
                              =  c_1(X)               
        
        activate#(n__from(X)) =  [3] X + [0]          
                              >= [3] X + [0]          
                              =  c_2(from#(X))        
        
                     from#(X) =  [3] X + [0]          
                              >= [3] X + [0]          
                              =  c_3(X,X)             
        
                     from#(X) =  [3] X + [0]          
                              >= [3] X + [0]          
                              =  c_4(X)               
        
                  activate(X) =  [1] X + [0]          
                              >= [1] X + [0]          
                              =  X                    
        
         activate(n__from(X)) =  [1] X + [0]          
                              >= [1] X + [0]          
                              =  from(X)              
        
                      from(X) =  [1] X + [0]          
                              >= [1] X + [5]          
                              =  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.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
      Strict TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Weak DP Rules:
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Weak TRS Rules:
        
      Signature:
        {activate/1,from/1,sel/2,activate#/1,from#/1,sel#/2} / {0/0,cons/2,n__from/1,s/1,c_1/1,c_2/1,c_3/2,c_4/1,c_5/1,c_6/1}
      Obligation:
        Full
        basic terms: {activate#,from#,sel#}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, 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(sel#) = {2},
          uargs(c_2) = {1},
          uargs(c_6) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                  p(0) = [0]                  
           p(activate) = [1] x1 + [2]         
               p(cons) = [1] x2 + [7]         
               p(from) = [0]                  
            p(n__from) = [1]                  
                  p(s) = [1] x1 + [0]         
                p(sel) = [4]                  
          p(activate#) = [1] x1 + [0]         
              p(from#) = [0]                  
               p(sel#) = [2] x1 + [1] x2 + [8]
                p(c_1) = [0]                  
                p(c_2) = [1] x1 + [0]         
                p(c_3) = [0]                  
                p(c_4) = [0]                  
                p(c_5) = [15]                 
                p(c_6) = [1] x1 + [2]         
        
        Following rules are strictly oriented:
        activate#(n__from(X)) = [1]          
                              > [0]          
                              = c_2(from#(X))
        
                  activate(X) = [1] X + [2]  
                              > [1] X + [0]  
                              = X            
        
         activate(n__from(X)) = [3]          
                              > [0]          
                              = from(X)      
        
        
        Following rules are (at-least) weakly oriented:
                activate#(X) =  [1] X + [0]             
                             >= [0]                     
                             =  c_1(X)                  
        
                    from#(X) =  [0]                     
                             >= [0]                     
                             =  c_3(X,X)                
        
                    from#(X) =  [0]                     
                             >= [0]                     
                             =  c_4(X)                  
        
         sel#(0(),cons(X,Y)) =  [1] Y + [15]            
                             >= [15]                    
                             =  c_5(X)                  
        
        sel#(s(X),cons(Y,Z)) =  [2] X + [1] Z + [15]    
                             >= [2] X + [1] Z + [12]    
                             =  c_6(sel#(X,activate(Z)))
        
                     from(X) =  [0]                     
                             >= [8]                     
                             =  cons(X,n__from(s(X)))   
        
                     from(X) =  [0]                     
                             >= [1]                     
                             =  n__from(X)              
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        activate#(X) -> c_1(X)
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
      Strict TRS Rules:
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Weak DP Rules:
        activate#(n__from(X)) -> c_2(from#(X))
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Weak TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
      Signature:
        {activate/1,from/1,sel/2,activate#/1,from#/1,sel#/2} / {0/0,cons/2,n__from/1,s/1,c_1/1,c_2/1,c_3/2,c_4/1,c_5/1,c_6/1}
      Obligation:
        Full
        basic terms: {activate#,from#,sel#}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, 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(sel#) = {2},
          uargs(c_2) = {1},
          uargs(c_6) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                  p(0) = [0]         
           p(activate) = [1] x1 + [0]
               p(cons) = [1] x2 + [0]
               p(from) = [1] x1 + [0]
            p(n__from) = [1] x1 + [0]
                  p(s) = [1] x1 + [0]
                p(sel) = [0]         
          p(activate#) = [1]         
              p(from#) = [1]         
               p(sel#) = [1] x2 + [0]
                p(c_1) = [0]         
                p(c_2) = [1] x1 + [0]
                p(c_3) = [0]         
                p(c_4) = [0]         
                p(c_5) = [0]         
                p(c_6) = [1] x1 + [0]
        
        Following rules are strictly oriented:
        activate#(X) = [1]     
                     > [0]     
                     = c_1(X)  
        
            from#(X) = [1]     
                     > [0]     
                     = c_3(X,X)
        
            from#(X) = [1]     
                     > [0]     
                     = c_4(X)  
        
        
        Following rules are (at-least) weakly oriented:
        activate#(n__from(X)) =  [1]                     
                              >= [1]                     
                              =  c_2(from#(X))           
        
          sel#(0(),cons(X,Y)) =  [1] Y + [0]             
                              >= [0]                     
                              =  c_5(X)                  
        
         sel#(s(X),cons(Y,Z)) =  [1] Z + [0]             
                              >= [1] Z + [0]             
                              =  c_6(sel#(X,activate(Z)))
        
                  activate(X) =  [1] X + [0]             
                              >= [1] X + [0]             
                              =  X                       
        
         activate(n__from(X)) =  [1] X + [0]             
                              >= [1] X + [0]             
                              =  from(X)                 
        
                      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.1.1.1 Progress [(O(1),O(n^1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Weak DP Rules:
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Weak TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
      Signature:
        {activate/1,from/1,sel/2,activate#/1,from#/1,sel#/2} / {0/0,cons/2,n__from/1,s/1,c_1/1,c_2/1,c_3/2,c_4/1,c_5/1,c_6/1}
      Obligation:
        Full
        basic terms: {activate#,from#,sel#}/{0,cons,n__from,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, 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(sel#) = {2},
          uargs(c_2) = {1},
          uargs(c_6) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
                  p(0) = [0]                  
           p(activate) = [1] x1 + [4]         
               p(cons) = [1] x2 + [0]         
               p(from) = [4]                  
            p(n__from) = [2]                  
                  p(s) = [1] x1 + [1]         
                p(sel) = [1] x1 + [1] x2 + [1]
          p(activate#) = [8]                  
              p(from#) = [1]                  
               p(sel#) = [4] x1 + [1] x2 + [0]
                p(c_1) = [8]                  
                p(c_2) = [1] x1 + [7]         
                p(c_3) = [1]                  
                p(c_4) = [1]                  
                p(c_5) = [0]                  
                p(c_6) = [1] x1 + [0]         
        
        Following rules are strictly oriented:
        from(X) = [4]                  
                > [2]                  
                = cons(X,n__from(s(X)))
        
        from(X) = [4]                  
                > [2]                  
                = n__from(X)           
        
        
        Following rules are (at-least) weakly oriented:
                 activate#(X) =  [8]                     
                              >= [8]                     
                              =  c_1(X)                  
        
        activate#(n__from(X)) =  [8]                     
                              >= [8]                     
                              =  c_2(from#(X))           
        
                     from#(X) =  [1]                     
                              >= [1]                     
                              =  c_3(X,X)                
        
                     from#(X) =  [1]                     
                              >= [1]                     
                              =  c_4(X)                  
        
          sel#(0(),cons(X,Y)) =  [1] Y + [0]             
                              >= [0]                     
                              =  c_5(X)                  
        
         sel#(s(X),cons(Y,Z)) =  [4] X + [1] Z + [4]     
                              >= [4] X + [1] Z + [4]     
                              =  c_6(sel#(X,activate(Z)))
        
                  activate(X) =  [1] X + [4]             
                              >= [1] X + [0]             
                              =  X                       
        
         activate(n__from(X)) =  [6]                     
                              >= [4]                     
                              =  from(X)                 
        
      Further, it can be verified that all rules not oriented are covered by the weightgap condition.
*** 1.1.1.1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        activate#(X) -> c_1(X)
        activate#(n__from(X)) -> c_2(from#(X))
        from#(X) -> c_3(X,X)
        from#(X) -> c_4(X)
        sel#(0(),cons(X,Y)) -> c_5(X)
        sel#(s(X),cons(Y,Z)) -> c_6(sel#(X,activate(Z)))
      Weak TRS Rules:
        activate(X) -> X
        activate(n__from(X)) -> from(X)
        from(X) -> cons(X,n__from(s(X)))
        from(X) -> n__from(X)
      Signature:
        {activate/1,from/1,sel/2,activate#/1,from#/1,sel#/2} / {0/0,cons/2,n__from/1,s/1,c_1/1,c_2/1,c_3/2,c_4/1,c_5/1,c_6/1}
      Obligation:
        Full
        basic terms: {activate#,from#,sel#}/{0,cons,n__from,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).