*** 1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        f(X,X) -> c(X)
        f(X,c(X)) -> f(s(X),X)
        f(s(X),X) -> f(X,a(X))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/2} / {a/1,c/1,s/1}
      Obligation:
        Full
        basic terms: {f}/{a,c,s}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following weak dependency pairs:
      
      Strict DPs
        f#(X,X) -> c_1(X)
        f#(X,c(X)) -> c_2(f#(s(X),X))
        f#(s(X),X) -> c_3(f#(X,a(X)))
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(X,X) -> c_1(X)
        f#(X,c(X)) -> c_2(f#(s(X),X))
        f#(s(X),X) -> c_3(f#(X,a(X)))
      Strict TRS Rules:
        f(X,X) -> c(X)
        f(X,c(X)) -> f(s(X),X)
        f(s(X),X) -> f(X,a(X))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/2,f#/2} / {a/1,c/1,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#}/{a,c,s}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        f#(X,X) -> c_1(X)
        f#(X,c(X)) -> c_2(f#(s(X),X))
        f#(s(X),X) -> c_3(f#(X,a(X)))
*** 1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(X,X) -> c_1(X)
        f#(X,c(X)) -> c_2(f#(s(X),X))
        f#(s(X),X) -> c_3(f#(X,a(X)))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {f/2,f#/2} / {a/1,c/1,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#}/{a,c,s}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 0, 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 (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima):
      The following argument positions are considered usable:
        uargs(c_2) = {1}
      
      Following symbols are considered usable:
        {}
      TcT has computed the following interpretation:
          p(a) = [4]                  
          p(c) = [14]                 
          p(f) = [1] x1 + [8] x2 + [2]
          p(s) = [0]                  
         p(f#) = [8] x1 + [1] x2 + [2]
        p(c_1) = [1] x1 + [0]         
        p(c_2) = [8] x1 + [0]         
        p(c_3) = [2]                  
      
      Following rules are strictly oriented:
      f#(X,X) = [9] X + [2]
              > [1] X + [0]
              = c_1(X)     
      
      
      Following rules are (at-least) weakly oriented:
      f#(X,c(X)) =  [8] X + [16]   
                 >= [8] X + [16]   
                 =  c_2(f#(s(X),X))
      
      f#(s(X),X) =  [1] X + [2]    
                 >= [2]            
                 =  c_3(f#(X,a(X)))
      
*** 1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(X,c(X)) -> c_2(f#(s(X),X))
        f#(s(X),X) -> c_3(f#(X,a(X)))
      Strict TRS Rules:
        
      Weak DP Rules:
        f#(X,X) -> c_1(X)
      Weak TRS Rules:
        
      Signature:
        {f/2,f#/2} / {a/1,c/1,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#}/{a,c,s}
    Applied Processor:
      WeightGap {wgDimension = 1, wgDegree = 0, wgKind = Algebraic, wgUArgs = UArgs, wgOn = WgOnAny}
    Proof:
      The weightgap principle applies using the following constant growth matrix-interpretation:
        We apply a matrix interpretation of kind constructor based matrix interpretation (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima):
        The following argument positions are considered usable:
          uargs(c_2) = {1}
        
        Following symbols are considered usable:
          {}
        TcT has computed the following interpretation:
            p(a) = [0]          
            p(c) = [0]          
            p(f) = [0]          
            p(s) = [0]          
           p(f#) = [7] x1 + [15]
          p(c_1) = [15]         
          p(c_2) = [1] x1 + [0] 
          p(c_3) = [0]          
        
        Following rules are strictly oriented:
        f#(s(X),X) = [15]           
                   > [0]            
                   = c_3(f#(X,a(X)))
        
        
        Following rules are (at-least) weakly oriented:
           f#(X,X) =  [7] X + [15]   
                   >= [15]           
                   =  c_1(X)         
        
        f#(X,c(X)) =  [7] X + [15]   
                   >= [15]           
                   =  c_2(f#(s(X),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(1))]  ***
    Considered Problem:
      Strict DP Rules:
        f#(X,c(X)) -> c_2(f#(s(X),X))
      Strict TRS Rules:
        
      Weak DP Rules:
        f#(X,X) -> c_1(X)
        f#(s(X),X) -> c_3(f#(X,a(X)))
      Weak TRS Rules:
        
      Signature:
        {f/2,f#/2} / {a/1,c/1,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#}/{a,c,s}
    Applied Processor:
      NaturalMI {miDimension = 1, miDegree = 0, 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 (containing no more than 0 non-zero interpretation-entries in the diagonal of the component-wise maxima):
      The following argument positions are considered usable:
        uargs(c_2) = {1}
      
      Following symbols are considered usable:
        {}
      TcT has computed the following interpretation:
          p(a) = [0]                  
          p(c) = [2]                  
          p(f) = [1] x1 + [1] x2 + [2]
          p(s) = [1]                  
         p(f#) = [6] x1 + [6] x2 + [1]
        p(c_1) = [0]                  
        p(c_2) = [1] x1 + [4]         
        p(c_3) = [1] x1 + [0]         
      
      Following rules are strictly oriented:
      f#(X,c(X)) = [6] X + [13]   
                 > [6] X + [11]   
                 = c_2(f#(s(X),X))
      
      
      Following rules are (at-least) weakly oriented:
         f#(X,X) =  [12] X + [1]   
                 >= [0]            
                 =  c_1(X)         
      
      f#(s(X),X) =  [6] X + [7]    
                 >= [6] X + [1]    
                 =  c_3(f#(X,a(X)))
      
*** 1.1.1.1.1.1 Progress [(O(1),O(1))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        
      Weak DP Rules:
        f#(X,X) -> c_1(X)
        f#(X,c(X)) -> c_2(f#(s(X),X))
        f#(s(X),X) -> c_3(f#(X,a(X)))
      Weak TRS Rules:
        
      Signature:
        {f/2,f#/2} / {a/1,c/1,s/1,c_1/1,c_2/1,c_3/1}
      Obligation:
        Full
        basic terms: {f#}/{a,c,s}
    Applied Processor:
      EmptyProcessor
    Proof:
      The problem is already closed. The intended complexity is O(1).