*** 1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        first(0(),X) -> nil()
        first(s(X),cons(Y)) -> cons(Y)
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        terms(N) -> cons(recip(sqr(N)))
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {add/2,dbl/1,first/2,sqr/1,terms/1} / {0/0,cons/1,nil/0,recip/1,s/1}
      Obligation:
        Innermost
        basic terms: {add,dbl,first,sqr,terms}/{0,cons,nil,recip,s}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following dependency tuples:
      
      Strict DPs
        add#(0(),X) -> c_1()
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(0()) -> c_3()
        dbl#(s(X)) -> c_4(dbl#(X))
        first#(0(),X) -> c_5()
        first#(s(X),cons(Y)) -> c_6()
        sqr#(0()) -> c_7()
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_9(sqr#(N))
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        add#(0(),X) -> c_1()
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(0()) -> c_3()
        dbl#(s(X)) -> c_4(dbl#(X))
        first#(0(),X) -> c_5()
        first#(s(X),cons(Y)) -> c_6()
        sqr#(0()) -> c_7()
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_9(sqr#(N))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        first(0(),X) -> nil()
        first(s(X),cons(Y)) -> cons(Y)
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        terms(N) -> cons(recip(sqr(N)))
      Signature:
        {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        add#(0(),X) -> c_1()
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(0()) -> c_3()
        dbl#(s(X)) -> c_4(dbl#(X))
        first#(0(),X) -> c_5()
        first#(s(X),cons(Y)) -> c_6()
        sqr#(0()) -> c_7()
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_9(sqr#(N))
*** 1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        add#(0(),X) -> c_1()
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(0()) -> c_3()
        dbl#(s(X)) -> c_4(dbl#(X))
        first#(0(),X) -> c_5()
        first#(s(X),cons(Y)) -> c_6()
        sqr#(0()) -> c_7()
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_9(sqr#(N))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
      Signature:
        {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
    Applied Processor:
      PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    Proof:
      We estimate the number of application of
        {1,3,5,6,7}
      by application of
        Pre({1,3,5,6,7}) = {2,4,8,9}.
      Here rules are labelled as follows:
        1: add#(0(),X) -> c_1()          
        2: add#(s(X),Y) -> c_2(add#(X,Y))
        3: dbl#(0()) -> c_3()            
        4: dbl#(s(X)) -> c_4(dbl#(X))    
        5: first#(0(),X) -> c_5()        
        6: first#(s(X),cons(Y)) -> c_6() 
        7: sqr#(0()) -> c_7()            
        8: sqr#(s(X)) -> c_8(add#(sqr(X) 
                                 ,dbl(X))
                            ,sqr#(X)     
                            ,dbl#(X))    
        9: terms#(N) -> c_9(sqr#(N))     
*** 1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(s(X)) -> c_4(dbl#(X))
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_9(sqr#(N))
      Strict TRS Rules:
        
      Weak DP Rules:
        add#(0(),X) -> c_1()
        dbl#(0()) -> c_3()
        first#(0(),X) -> c_5()
        first#(s(X),cons(Y)) -> c_6()
        sqr#(0()) -> c_7()
      Weak TRS Rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
      Signature:
        {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
    Applied Processor:
      RemoveWeakSuffixes
    Proof:
      Consider the dependency graph
        1:S:add#(s(X),Y) -> c_2(add#(X,Y))
           -->_1 add#(0(),X) -> c_1():5
           -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
        
        2:S:dbl#(s(X)) -> c_4(dbl#(X))
           -->_1 dbl#(0()) -> c_3():6
           -->_1 dbl#(s(X)) -> c_4(dbl#(X)):2
        
        3:S:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
           -->_2 sqr#(0()) -> c_7():9
           -->_3 dbl#(0()) -> c_3():6
           -->_1 add#(0(),X) -> c_1():5
           -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
           -->_3 dbl#(s(X)) -> c_4(dbl#(X)):2
           -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
        
        4:S:terms#(N) -> c_9(sqr#(N))
           -->_1 sqr#(0()) -> c_7():9
           -->_1 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
        
        5:W:add#(0(),X) -> c_1()
           
        
        6:W:dbl#(0()) -> c_3()
           
        
        7:W:first#(0(),X) -> c_5()
           
        
        8:W:first#(s(X),cons(Y)) -> c_6()
           
        
        9:W:sqr#(0()) -> c_7()
           
        
      The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
        8: first#(s(X),cons(Y)) -> c_6()
        7: first#(0(),X) -> c_5()       
        9: sqr#(0()) -> c_7()           
        6: dbl#(0()) -> c_3()           
        5: add#(0(),X) -> c_1()         
*** 1.1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(s(X)) -> c_4(dbl#(X))
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_9(sqr#(N))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
      Signature:
        {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
    Applied Processor:
      RemoveHeads
    Proof:
      Consider the dependency graph
      
      1:S:add#(s(X),Y) -> c_2(add#(X,Y))
         -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
      
      2:S:dbl#(s(X)) -> c_4(dbl#(X))
         -->_1 dbl#(s(X)) -> c_4(dbl#(X)):2
      
      3:S:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
         -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
         -->_3 dbl#(s(X)) -> c_4(dbl#(X)):2
         -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
      
      4:S:terms#(N) -> c_9(sqr#(N))
         -->_1 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
      
      
      Following roots of the dependency graph are removed, as the considered set of starting terms is closed under reduction with respect to these rules (modulo compound contexts).
      
      [(4,terms#(N) -> c_9(sqr#(N)))]
*** 1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        add#(s(X),Y) -> c_2(add#(X,Y))
        dbl#(s(X)) -> c_4(dbl#(X))
        sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        add(0(),X) -> X
        add(s(X),Y) -> s(add(X,Y))
        dbl(0()) -> 0()
        dbl(s(X)) -> s(s(dbl(X)))
        sqr(0()) -> 0()
        sqr(s(X)) -> s(add(sqr(X),dbl(X)))
      Signature:
        {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
    Applied Processor:
      Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
    Proof:
      We analyse the complexity of following sub-problems (R) and (S).
      Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component.
      
      Problem (R)
        Strict DP Rules:
          add#(s(X),Y) -> c_2(add#(X,Y))
        Strict TRS Rules:
          
        Weak DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      
      Problem (S)
        Strict DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        Strict TRS Rules:
          
        Weak DP Rules:
          add#(s(X),Y) -> c_2(add#(X,Y))
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
  *** 1.1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          add#(s(X),Y) -> c_2(add#(X,Y))
        Strict TRS Rules:
          
        Weak DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        RemoveWeakSuffixes
      Proof:
        Consider the dependency graph
          1:S:add#(s(X),Y) -> c_2(add#(X,Y))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
          
          2:W:dbl#(s(X)) -> c_4(dbl#(X))
             -->_1 dbl#(s(X)) -> c_4(dbl#(X)):2
          
          3:W:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
             -->_3 dbl#(s(X)) -> c_4(dbl#(X)):2
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
             -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          2: dbl#(s(X)) -> c_4(dbl#(X))
  *** 1.1.1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          add#(s(X),Y) -> c_2(add#(X,Y))
        Strict TRS Rules:
          
        Weak DP Rules:
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        SimplifyRHS
      Proof:
        Consider the dependency graph
          1:S:add#(s(X),Y) -> c_2(add#(X,Y))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
          
          3:W:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
             -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
  *** 1.1.1.1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          add#(s(X),Y) -> c_2(add#(X,Y))
        Strict TRS Rules:
          
        Weak DP Rules:
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        DecomposeDG {onSelection = all below first cut in WDG, onUpper = Just someStrategy, onLower = Nothing}
      Proof:
        We decompose the input problem according to the dependency graph into the upper component
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
        and a lower component
          add#(s(X),Y) -> c_2(add#(X,Y))
        Further, following extension rules are added to the lower component.
          sqr#(s(X)) -> add#(sqr(X),dbl(X))
          sqr#(s(X)) -> sqr#(X)
    *** 1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            add(0(),X) -> X
            add(s(X),Y) -> s(add(X,Y))
            dbl(0()) -> 0()
            dbl(s(X)) -> s(s(dbl(X)))
            sqr(0()) -> 0()
            sqr(s(X)) -> s(add(sqr(X),dbl(X)))
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
        Proof:
          We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
            1: sqr#(s(X)) -> c_8(add#(sqr(X) 
                                     ,dbl(X))
                                ,sqr#(X))    
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
          Proof:
            We apply a matrix interpretation of kind constructor based matrix interpretation:
            The following argument positions are considered usable:
              uargs(c_8) = {1,2}
            
            Following symbols are considered usable:
              {add#,dbl#,first#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = [4]                  
                 p(add) = [7] x2 + [1]         
                p(cons) = [1] x1 + [1]         
                 p(dbl) = [1]                  
               p(first) = [1] x1 + [1] x2 + [0]
                 p(nil) = [1]                  
               p(recip) = [2]                  
                   p(s) = [1] x1 + [4]         
                 p(sqr) = [2] x1 + [0]         
               p(terms) = [1] x1 + [1]         
                p(add#) = [1]                  
                p(dbl#) = [1] x1 + [0]         
              p(first#) = [2] x1 + [1] x2 + [0]
                p(sqr#) = [2] x1 + [3]         
              p(terms#) = [1]                  
                 p(c_1) = [0]                  
                 p(c_2) = [2] x1 + [2]         
                 p(c_3) = [1]                  
                 p(c_4) = [8] x1 + [0]         
                 p(c_5) = [1]                  
                 p(c_6) = [0]                  
                 p(c_7) = [1]                  
                 p(c_8) = [1] x1 + [1] x2 + [2]
                 p(c_9) = [1] x1 + [0]         
            
            Following rules are strictly oriented:
            sqr#(s(X)) = [2] X + [11]                    
                       > [2] X + [6]                     
                       = c_8(add#(sqr(X),dbl(X)),sqr#(X))
            
            
            Following rules are (at-least) weakly oriented:
            
      *** 1.1.1.1.1.1.1.1.1.1.1.1 Progress [(?,O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.1.1.1.1.2 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X))
                 -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X)):1
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              1: sqr#(s(X)) -> c_8(add#(sqr(X) 
                                       ,dbl(X))
                                  ,sqr#(X))    
      *** 1.1.1.1.1.1.1.1.1.1.2.1 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
    *** 1.1.1.1.1.1.1.1.1.2 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            add#(s(X),Y) -> c_2(add#(X,Y))
          Strict TRS Rules:
            
          Weak DP Rules:
            sqr#(s(X)) -> add#(sqr(X),dbl(X))
            sqr#(s(X)) -> sqr#(X)
          Weak TRS Rules:
            add(0(),X) -> X
            add(s(X),Y) -> s(add(X,Y))
            dbl(0()) -> 0()
            dbl(s(X)) -> s(s(dbl(X)))
            sqr(0()) -> 0()
            sqr(s(X)) -> s(add(sqr(X),dbl(X)))
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
        Proof:
          We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
            1: add#(s(X),Y) -> c_2(add#(X,Y))
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.1.1.1.2.1 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              add#(s(X),Y) -> c_2(add#(X,Y))
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> add#(sqr(X),dbl(X))
              sqr#(s(X)) -> sqr#(X)
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
          Proof:
            We apply a polynomial interpretation of kind constructor-based(mixed(2)):
            The following argument positions are considered usable:
              uargs(c_2) = {1}
            
            Following symbols are considered usable:
              {add,dbl,sqr,add#,dbl#,first#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = 0                      
                 p(add) = x1 + x2                
                p(cons) = x1                     
                 p(dbl) = 2*x1                   
               p(first) = 1 + x1*x2 + x2 + 2*x2^2
                 p(nil) = 0                      
               p(recip) = 0                      
                   p(s) = 1 + x1                 
                 p(sqr) = x1 + x1^2              
               p(terms) = 2                      
                p(add#) = 7 + 3*x1 + 5*x2        
                p(dbl#) = 4 + 4*x1               
              p(first#) = 1 + x1 + x1*x2 + x1^2  
                p(sqr#) = x1 + 6*x1^2            
              p(terms#) = 2 + x1^2               
                 p(c_1) = 1                      
                 p(c_2) = 1 + x1                 
                 p(c_3) = 1                      
                 p(c_4) = 0                      
                 p(c_5) = 0                      
                 p(c_6) = 1                      
                 p(c_7) = 1                      
                 p(c_8) = x1 + x2                
                 p(c_9) = 1                      
            
            Following rules are strictly oriented:
            add#(s(X),Y) = 10 + 3*X + 5*Y
                         > 8 + 3*X + 5*Y 
                         = c_2(add#(X,Y))
            
            
            Following rules are (at-least) weakly oriented:
             sqr#(s(X)) =  7 + 13*X + 6*X^2     
                        >= 7 + 13*X + 3*X^2     
                        =  add#(sqr(X),dbl(X))  
            
             sqr#(s(X)) =  7 + 13*X + 6*X^2     
                        >= X + 6*X^2            
                        =  sqr#(X)              
            
             add(0(),X) =  X                    
                        >= X                    
                        =  X                    
            
            add(s(X),Y) =  1 + X + Y            
                        >= 1 + X + Y            
                        =  s(add(X,Y))          
            
               dbl(0()) =  0                    
                        >= 0                    
                        =  0()                  
            
              dbl(s(X)) =  2 + 2*X              
                        >= 2 + 2*X              
                        =  s(s(dbl(X)))         
            
               sqr(0()) =  0                    
                        >= 0                    
                        =  0()                  
            
              sqr(s(X)) =  2 + 3*X + X^2        
                        >= 1 + 3*X + X^2        
                        =  s(add(sqr(X),dbl(X)))
            
      *** 1.1.1.1.1.1.1.1.1.2.1.1 Progress [(?,O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              add#(s(X),Y) -> c_2(add#(X,Y))
              sqr#(s(X)) -> add#(sqr(X),dbl(X))
              sqr#(s(X)) -> sqr#(X)
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.1.1.1.2.2 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              add#(s(X),Y) -> c_2(add#(X,Y))
              sqr#(s(X)) -> add#(sqr(X),dbl(X))
              sqr#(s(X)) -> sqr#(X)
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:add#(s(X),Y) -> c_2(add#(X,Y))
                 -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
              
              2:W:sqr#(s(X)) -> add#(sqr(X),dbl(X))
                 -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
              
              3:W:sqr#(s(X)) -> sqr#(X)
                 -->_1 sqr#(s(X)) -> sqr#(X):3
                 -->_1 sqr#(s(X)) -> add#(sqr(X),dbl(X)):2
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              3: sqr#(s(X)) -> sqr#(X)         
              2: sqr#(s(X)) -> add#(sqr(X)     
                                   ,dbl(X))    
              1: add#(s(X),Y) -> c_2(add#(X,Y))
      *** 1.1.1.1.1.1.1.1.1.2.2.1 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              add(0(),X) -> X
              add(s(X),Y) -> s(add(X,Y))
              dbl(0()) -> 0()
              dbl(s(X)) -> s(s(dbl(X)))
              sqr(0()) -> 0()
              sqr(s(X)) -> s(add(sqr(X),dbl(X)))
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
  *** 1.1.1.1.1.1.2 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        Strict TRS Rules:
          
        Weak DP Rules:
          add#(s(X),Y) -> c_2(add#(X,Y))
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        RemoveWeakSuffixes
      Proof:
        Consider the dependency graph
          1:S:dbl#(s(X)) -> c_4(dbl#(X))
             -->_1 dbl#(s(X)) -> c_4(dbl#(X)):1
          
          2:S:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):3
             -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):2
             -->_3 dbl#(s(X)) -> c_4(dbl#(X)):1
          
          3:W:add#(s(X),Y) -> c_2(add#(X,Y))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):3
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          3: add#(s(X),Y) -> c_2(add#(X,Y))
  *** 1.1.1.1.1.1.2.1 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/3,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        SimplifyRHS
      Proof:
        Consider the dependency graph
          1:S:dbl#(s(X)) -> c_4(dbl#(X))
             -->_1 dbl#(s(X)) -> c_4(dbl#(X)):1
          
          2:S:sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
             -->_2 sqr#(s(X)) -> c_8(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):2
             -->_3 dbl#(s(X)) -> c_4(dbl#(X)):1
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
  *** 1.1.1.1.1.1.2.1.1 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          add(0(),X) -> X
          add(s(X),Y) -> s(add(X,Y))
          dbl(0()) -> 0()
          dbl(s(X)) -> s(s(dbl(X)))
          sqr(0()) -> 0()
          sqr(s(X)) -> s(add(sqr(X),dbl(X)))
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        UsableRules
      Proof:
        We replace rewrite rules by usable rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
  *** 1.1.1.1.1.1.2.1.1.1 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          
        Signature:
          {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
      Applied Processor:
        Decompose {onSelection = all cycle independent sub-graph, withBound = RelativeAdd}
      Proof:
        We analyse the complexity of following sub-problems (R) and (S).
        Problem (S) is obtained from the input problem by shifting strict rules from (R) into the weak component.
        
        Problem (R)
          Strict DP Rules:
            dbl#(s(X)) -> c_4(dbl#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        
        Problem (S)
          Strict DP Rules:
            sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            dbl#(s(X)) -> c_4(dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
    *** 1.1.1.1.1.1.2.1.1.1.1 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            dbl#(s(X)) -> c_4(dbl#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
        Proof:
          We first use the processor NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
            1: dbl#(s(X)) -> c_4(dbl#(X))
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.2.1.1.1.1.1 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              dbl#(s(X)) -> c_4(dbl#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            NaturalPI {shape = Mixed 2, restrict = Restrict, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
          Proof:
            We apply a polynomial interpretation of kind constructor-based(mixed(2)):
            The following argument positions are considered usable:
              uargs(c_4) = {1},
              uargs(c_8) = {1,2}
            
            Following symbols are considered usable:
              {add#,dbl#,first#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = 1                                
                 p(add) = 1                                
                p(cons) = 0                                
                 p(dbl) = 1 + x1                           
               p(first) = 1 + x1 + x1*x2 + x1^2 + x2 + x2^2
                 p(nil) = 0                                
               p(recip) = x1                               
                   p(s) = 1 + x1                           
                 p(sqr) = x1 + x1^2                        
               p(terms) = 1 + x1 + x1^2                    
                p(add#) = x1 + 4*x2 + x2^2                 
                p(dbl#) = 6 + 3*x1                         
              p(first#) = 2 + x1 + x2 + x2^2               
                p(sqr#) = 5*x1 + 3*x1^2                    
              p(terms#) = 0                                
                 p(c_1) = 1                                
                 p(c_2) = 1 + x1                           
                 p(c_3) = 1                                
                 p(c_4) = 1 + x1                           
                 p(c_5) = 1                                
                 p(c_6) = 1                                
                 p(c_7) = 1                                
                 p(c_8) = 1 + x1 + x2                      
                 p(c_9) = 1 + x1                           
            
            Following rules are strictly oriented:
            dbl#(s(X)) = 9 + 3*X     
                       > 7 + 3*X     
                       = c_4(dbl#(X))
            
            
            Following rules are (at-least) weakly oriented:
            sqr#(s(X)) =  8 + 11*X + 3*X^2    
                       >= 7 + 8*X + 3*X^2     
                       =  c_8(sqr#(X),dbl#(X))
            
      *** 1.1.1.1.1.1.2.1.1.1.1.1.1 Progress [(?,O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              dbl#(s(X)) -> c_4(dbl#(X))
              sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.2.1.1.1.1.2 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              dbl#(s(X)) -> c_4(dbl#(X))
              sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:dbl#(s(X)) -> c_4(dbl#(X))
                 -->_1 dbl#(s(X)) -> c_4(dbl#(X)):1
              
              2:W:sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
                 -->_1 sqr#(s(X)) -> c_8(sqr#(X),dbl#(X)):2
                 -->_2 dbl#(s(X)) -> c_4(dbl#(X)):1
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              2: sqr#(s(X)) -> c_8(sqr#(X) 
                                  ,dbl#(X))
              1: dbl#(s(X)) -> c_4(dbl#(X))
      *** 1.1.1.1.1.1.2.1.1.1.1.2.1 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
    *** 1.1.1.1.1.1.2.1.1.1.2 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            dbl#(s(X)) -> c_4(dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          RemoveWeakSuffixes
        Proof:
          Consider the dependency graph
            1:S:sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
               -->_2 dbl#(s(X)) -> c_4(dbl#(X)):2
               -->_1 sqr#(s(X)) -> c_8(sqr#(X),dbl#(X)):1
            
            2:W:dbl#(s(X)) -> c_4(dbl#(X))
               -->_1 dbl#(s(X)) -> c_4(dbl#(X)):2
            
          The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
            2: dbl#(s(X)) -> c_4(dbl#(X))
    *** 1.1.1.1.1.1.2.1.1.1.2.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/2,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          SimplifyRHS
        Proof:
          Consider the dependency graph
            1:S:sqr#(s(X)) -> c_8(sqr#(X),dbl#(X))
               -->_1 sqr#(s(X)) -> c_8(sqr#(X),dbl#(X)):1
            
          Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
            sqr#(s(X)) -> c_8(sqr#(X))
    *** 1.1.1.1.1.1.2.1.1.1.2.1.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            sqr#(s(X)) -> c_8(sqr#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          PredecessorEstimationCP {onSelectionCP = any intersect of rules of CDG leaf and strict-rules, withComplexityPair = NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy}}
        Proof:
          We first use the processor NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Nothing, greedy = NoGreedy} to orient following rules strictly:
            1: sqr#(s(X)) -> c_8(sqr#(X))
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              sqr#(s(X)) -> c_8(sqr#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            NaturalMI {miDimension = 1, miDegree = 1, miKind = Algebraic, uargs = UArgs, urules = URules, selector = Just first alternative for predecessorEstimation any intersect of rules of CDG leaf and strict-rules, greedy = NoGreedy}
          Proof:
            We apply a matrix interpretation of kind constructor based matrix interpretation:
            The following argument positions are considered usable:
              uargs(c_8) = {1}
            
            Following symbols are considered usable:
              {add#,dbl#,first#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = [0]         
                 p(add) = [8]         
                p(cons) = [1]         
                 p(dbl) = [4]         
               p(first) = [8]         
                 p(nil) = [2]         
               p(recip) = [0]         
                   p(s) = [1] x1 + [3]
                 p(sqr) = [8]         
               p(terms) = [0]         
                p(add#) = [2]         
                p(dbl#) = [4] x1 + [0]
              p(first#) = [1] x2 + [1]
                p(sqr#) = [8] x1 + [1]
              p(terms#) = [8] x1 + [0]
                 p(c_1) = [0]         
                 p(c_2) = [2] x1 + [0]
                 p(c_3) = [0]         
                 p(c_4) = [0]         
                 p(c_5) = [1]         
                 p(c_6) = [1]         
                 p(c_7) = [4]         
                 p(c_8) = [1] x1 + [0]
                 p(c_9) = [4] x1 + [2]
            
            Following rules are strictly oriented:
            sqr#(s(X)) = [8] X + [25]
                       > [8] X + [1] 
                       = c_8(sqr#(X))
            
            
            Following rules are (at-least) weakly oriented:
            
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.1.1 Progress [(?,O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_8(sqr#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.2 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_8(sqr#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:sqr#(s(X)) -> c_8(sqr#(X))
                 -->_1 sqr#(s(X)) -> c_8(sqr#(X)):1
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              1: sqr#(s(X)) -> c_8(sqr#(X))
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.2.1 Progress [(O(1),O(1))]  ***
          Considered Problem:
            Strict DP Rules:
              
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/1,c_1/0,c_2/1,c_3/0,c_4/1,c_5/0,c_6/0,c_7/0,c_8/1,c_9/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).