*** 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)
        half(0()) -> 0()
        half(dbl(X)) -> X
        half(s(0())) -> 0()
        half(s(s(X))) -> s(half(X))
        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,half/1,sqr/1,terms/1} / {0/0,cons/1,nil/0,recip/1,s/1}
      Obligation:
        Innermost
        basic terms: {add,dbl,first,half,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()
        half#(0()) -> c_7()
        half#(dbl(X)) -> c_8()
        half#(s(0())) -> c_9()
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(0()) -> c_11()
        sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_13(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()
        half#(0()) -> c_7()
        half#(dbl(X)) -> c_8()
        half#(s(0())) -> c_9()
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(0()) -> c_11()
        sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_13(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)
        half(0()) -> 0()
        half(dbl(X)) -> X
        half(s(0())) -> 0()
        half(s(s(X))) -> s(half(X))
        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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,half#,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()
        half#(0()) -> c_7()
        half#(dbl(X)) -> c_8()
        half#(s(0())) -> c_9()
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(0()) -> c_11()
        sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_13(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()
        half#(0()) -> c_7()
        half#(dbl(X)) -> c_8()
        half#(s(0())) -> c_9()
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(0()) -> c_11()
        sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_13(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,half#,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,8,9,11}
      by application of
        Pre({1,3,5,6,7,8,9,11}) = {2,4,10,12,13}.
      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:  half#(0()) -> c_7()             
        8:  half#(dbl(X)) -> c_8()          
        9:  half#(s(0())) -> c_9()          
        10: half#(s(s(X))) -> c_10(half#(X))
        11: sqr#(0()) -> c_11()             
        12: sqr#(s(X)) -> c_12(add#(sqr(X)  
                                   ,dbl(X)) 
                              ,sqr#(X)      
                              ,dbl#(X))     
        13: terms#(N) -> c_13(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))
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_13(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()
        half#(0()) -> c_7()
        half#(dbl(X)) -> c_8()
        half#(s(0())) -> c_9()
        sqr#(0()) -> c_11()
      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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,half#,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():6
           -->_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():7
           -->_1 dbl#(s(X)) -> c_4(dbl#(X)):2
        
        3:S:half#(s(s(X))) -> c_10(half#(X))
           -->_1 half#(s(0())) -> c_9():12
           -->_1 half#(dbl(X)) -> c_8():11
           -->_1 half#(0()) -> c_7():10
           -->_1 half#(s(s(X))) -> c_10(half#(X)):3
        
        4:S:sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
           -->_2 sqr#(0()) -> c_11():13
           -->_3 dbl#(0()) -> c_3():7
           -->_1 add#(0(),X) -> c_1():6
           -->_2 sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):4
           -->_3 dbl#(s(X)) -> c_4(dbl#(X)):2
           -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
        
        5:S:terms#(N) -> c_13(sqr#(N))
           -->_1 sqr#(0()) -> c_11():13
           -->_1 sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):4
        
        6:W:add#(0(),X) -> c_1()
           
        
        7:W:dbl#(0()) -> c_3()
           
        
        8:W:first#(0(),X) -> c_5()
           
        
        9:W:first#(s(X),cons(Y)) -> c_6()
           
        
        10:W:half#(0()) -> c_7()
           
        
        11:W:half#(dbl(X)) -> c_8()
           
        
        12:W:half#(s(0())) -> c_9()
           
        
        13:W:sqr#(0()) -> c_11()
           
        
      The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
        9:  first#(s(X),cons(Y)) -> c_6()
        8:  first#(0(),X) -> c_5()       
        13: sqr#(0()) -> c_11()          
        10: half#(0()) -> c_7()          
        11: half#(dbl(X)) -> c_8()       
        12: half#(s(0())) -> c_9()       
        7:  dbl#(0()) -> c_3()           
        6:  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))
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
        terms#(N) -> c_13(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,half#,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:half#(s(s(X))) -> c_10(half#(X))
         -->_1 half#(s(s(X))) -> c_10(half#(X)):3
      
      4:S:sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
         -->_2 sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):4
         -->_3 dbl#(s(X)) -> c_4(dbl#(X)):2
         -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):1
      
      5:S:terms#(N) -> c_13(sqr#(N))
         -->_1 sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):4
      
      
      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).
      
      [(5,terms#(N) -> c_13(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))
        half#(s(s(X))) -> c_10(half#(X))
        sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
      Obligation:
        Innermost
        basic terms: {add#,dbl#,first#,half#,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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
      
      Problem (S)
        Strict DP Rules:
          dbl#(s(X)) -> c_4(dbl#(X))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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:half#(s(s(X))) -> c_10(half#(X))
             -->_1 half#(s(s(X))) -> c_10(half#(X)):3
          
          4:W:sqr#(s(X)) -> c_12(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_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):4
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          3: half#(s(s(X))) -> c_10(half#(X))
          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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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
          
          4:W:sqr#(s(X)) -> c_12(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_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):4
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          sqr#(s(X)) -> c_12(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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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_12(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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,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_12(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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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_12) = {1,2}
            
            Following symbols are considered usable:
              {add#,dbl#,first#,half#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = [3]                  
                 p(add) = [2]                  
                p(cons) = [1] x1 + [0]         
                 p(dbl) = [1] x1 + [0]         
               p(first) = [0]                  
                p(half) = [4] x1 + [0]         
                 p(nil) = [0]                  
               p(recip) = [0]                  
                   p(s) = [1] x1 + [6]         
                 p(sqr) = [2]                  
               p(terms) = [0]                  
                p(add#) = [5]                  
                p(dbl#) = [0]                  
              p(first#) = [1] x1 + [8] x2 + [0]
               p(half#) = [1] x1 + [0]         
                p(sqr#) = [4] x1 + [2]         
              p(terms#) = [8] x1 + [0]         
                 p(c_1) = [0]                  
                 p(c_2) = [4] x1 + [0]         
                 p(c_3) = [0]                  
                 p(c_4) = [1] x1 + [0]         
                 p(c_5) = [0]                  
                 p(c_6) = [0]                  
                 p(c_7) = [0]                  
                 p(c_8) = [0]                  
                 p(c_9) = [0]                  
                p(c_10) = [1] x1 + [0]         
                p(c_11) = [2]                  
                p(c_12) = [2] x1 + [1] x2 + [6]
                p(c_13) = [0]                  
            
            Following rules are strictly oriented:
            sqr#(s(X)) = [4] X + [26]            
                       > [4] X + [18]            
                       = c_12(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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X))
                 -->_2 sqr#(s(X)) -> c_12(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_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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#,half#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = 0              
                 p(add) = x1 + x2        
                p(cons) = 0              
                 p(dbl) = 2*x1           
               p(first) = 0              
                p(half) = 1 + x1         
                 p(nil) = 1              
               p(recip) = 0              
                   p(s) = 1 + x1         
                 p(sqr) = 2*x1^2         
               p(terms) = 2 + x1^2       
                p(add#) = 4 + 2*x1       
                p(dbl#) = 4 + x1^2       
              p(first#) = 2*x1 + 4*x2    
               p(half#) = 1 + x1 + 4*x1^2
                p(sqr#) = 4*x1^2         
              p(terms#) = 4*x1^2         
                 p(c_1) = 1              
                 p(c_2) = x1             
                 p(c_3) = 0              
                 p(c_4) = 1 + x1         
                 p(c_5) = 1              
                 p(c_6) = 1              
                 p(c_7) = 1              
                 p(c_8) = 1              
                 p(c_9) = 1              
                p(c_10) = 1              
                p(c_11) = 0              
                p(c_12) = 0              
                p(c_13) = 0              
            
            Following rules are strictly oriented:
            add#(s(X),Y) = 6 + 2*X       
                         > 4 + 2*X       
                         = c_2(add#(X,Y))
            
            
            Following rules are (at-least) weakly oriented:
             sqr#(s(X)) =  4 + 8*X + 4*X^2      
                        >= 4 + 4*X^2            
                        =  add#(sqr(X),dbl(X))  
            
             sqr#(s(X)) =  4 + 8*X + 4*X^2      
                        >= 4*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 + 4*X + 2*X^2      
                        >= 1 + 2*X + 2*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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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:half#(s(s(X))) -> c_10(half#(X))
             -->_1 half#(s(s(X))) -> c_10(half#(X)):2
          
          3:S:sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):4
             -->_2 sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
             -->_3 dbl#(s(X)) -> c_4(dbl#(X)):1
          
          4:W:add#(s(X),Y) -> c_2(add#(X,Y))
             -->_1 add#(s(X),Y) -> c_2(add#(X,Y)):4
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          4: 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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/3,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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:half#(s(s(X))) -> c_10(half#(X))
             -->_1 half#(s(s(X))) -> c_10(half#(X)):2
          
          3:S:sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X))
             -->_2 sqr#(s(X)) -> c_12(add#(sqr(X),dbl(X)),sqr#(X),dbl#(X)):3
             -->_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_12(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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(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))
          half#(s(s(X))) -> c_10(half#(X))
          sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          
        Signature:
          {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
        Obligation:
          Innermost
          basic terms: {add#,dbl#,first#,half#,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:
            half#(s(s(X))) -> c_10(half#(X))
            sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
        
        Problem (S)
          Strict DP Rules:
            half#(s(s(X))) -> c_10(half#(X))
            sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,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:
            half#(s(s(X))) -> c_10(half#(X))
            sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,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:W:half#(s(s(X))) -> c_10(half#(X))
               -->_1 half#(s(s(X))) -> c_10(half#(X)):2
            
            3:W:sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
               -->_2 dbl#(s(X)) -> c_4(dbl#(X)):1
               -->_1 sqr#(s(X)) -> c_12(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: half#(s(s(X))) -> c_10(half#(X))
    *** 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_12(sqr#(X),dbl#(X))
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,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.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_12(sqr#(X),dbl#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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_12) = {1,2}
            
            Following symbols are considered usable:
              {add#,dbl#,first#,half#,sqr#,terms#}
            TcT has computed the following interpretation:
                   p(0) = 0                           
                 p(add) = 2 + x1 + x1*x2              
                p(cons) = x1                          
                 p(dbl) = 1 + x1 + x1^2               
               p(first) = 2 + 2*x1 + x1^2 + x2 + x2^2 
                p(half) = 1 + 8*x1 + x1^2             
                 p(nil) = 0                           
               p(recip) = 1                           
                   p(s) = 1 + x1                      
                 p(sqr) = x1^2                        
               p(terms) = 1 + 4*x1 + x1^2             
                p(add#) = 4*x1 + x1*x2 + 2*x1^2 + x2^2
                p(dbl#) = 1 + 2*x1                    
              p(first#) = 2 + x1 + 8*x1^2             
               p(half#) = 0                           
                p(sqr#) = 12 + 7*x1 + 2*x1^2          
              p(terms#) = 1 + x1 + x1^2               
                 p(c_1) = 0                           
                 p(c_2) = 1 + x1                      
                 p(c_3) = 0                           
                 p(c_4) = 1 + x1                      
                 p(c_5) = 0                           
                 p(c_6) = 1                           
                 p(c_7) = 1                           
                 p(c_8) = 0                           
                 p(c_9) = 1                           
                p(c_10) = 1                           
                p(c_11) = 0                           
                p(c_12) = x1 + x2                     
                p(c_13) = x1                          
            
            Following rules are strictly oriented:
            dbl#(s(X)) = 3 + 2*X     
                       > 2 + 2*X     
                       = c_4(dbl#(X))
            
            
            Following rules are (at-least) weakly oriented:
            sqr#(s(X)) =  21 + 11*X + 2*X^2    
                       >= 13 + 9*X + 2*X^2     
                       =  c_12(sqr#(X),dbl#(X))
            
      *** 1.1.1.1.1.1.2.1.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_12(sqr#(X),dbl#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 1.1.1.1.1.1.2.1.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_12(sqr#(X),dbl#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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_12(sqr#(X),dbl#(X))
                 -->_1 sqr#(s(X)) -> c_12(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_12(sqr#(X) 
                                   ,dbl#(X))
              1: dbl#(s(X)) -> c_4(dbl#(X)) 
      *** 1.1.1.1.1.1.2.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:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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:
            half#(s(s(X))) -> c_10(half#(X))
            sqr#(s(X)) -> c_12(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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          RemoveWeakSuffixes
        Proof:
          Consider the dependency graph
            1:S:half#(s(s(X))) -> c_10(half#(X))
               -->_1 half#(s(s(X))) -> c_10(half#(X)):1
            
            2:S:sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
               -->_2 dbl#(s(X)) -> c_4(dbl#(X)):3
               -->_1 sqr#(s(X)) -> c_12(sqr#(X),dbl#(X)):2
            
            3:W:dbl#(s(X)) -> c_4(dbl#(X))
               -->_1 dbl#(s(X)) -> c_4(dbl#(X)):3
            
          The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
            3: 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:
            half#(s(s(X))) -> c_10(half#(X))
            sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/2,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
        Applied Processor:
          SimplifyRHS
        Proof:
          Consider the dependency graph
            1:S:half#(s(s(X))) -> c_10(half#(X))
               -->_1 half#(s(s(X))) -> c_10(half#(X)):1
            
            2:S:sqr#(s(X)) -> c_12(sqr#(X),dbl#(X))
               -->_1 sqr#(s(X)) -> c_12(sqr#(X),dbl#(X)):2
            
          Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
            sqr#(s(X)) -> c_12(sqr#(X))
    *** 1.1.1.1.1.1.2.1.1.1.2.1.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            half#(s(s(X))) -> c_10(half#(X))
            sqr#(s(X)) -> c_12(sqr#(X))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            
          Signature:
            {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
          Obligation:
            Innermost
            basic terms: {add#,dbl#,first#,half#,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:
              half#(s(s(X))) -> c_10(half#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_12(sqr#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
          
          Problem (S)
            Strict DP Rules:
              sqr#(s(X)) -> c_12(sqr#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              half#(s(s(X))) -> c_10(half#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              half#(s(s(X))) -> c_10(half#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              sqr#(s(X)) -> c_12(sqr#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:S:half#(s(s(X))) -> c_10(half#(X))
                 -->_1 half#(s(s(X))) -> c_10(half#(X)):1
              
              2:W:sqr#(s(X)) -> c_12(sqr#(X))
                 -->_1 sqr#(s(X)) -> c_12(sqr#(X)):2
              
            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_12(sqr#(X))
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              half#(s(s(X))) -> c_10(half#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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: half#(s(s(X))) -> c_10(half#(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.1.1 Progress [(?,O(n^1))]  ***
            Considered Problem:
              Strict DP Rules:
                half#(s(s(X))) -> c_10(half#(X))
              Strict TRS Rules:
                
              Weak DP Rules:
                
              Weak TRS Rules:
                
              Signature:
                {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,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_10) = {1}
              
              Following symbols are considered usable:
                {add#,dbl#,first#,half#,sqr#,terms#}
              TcT has computed the following interpretation:
                     p(0) = [2]                  
                   p(add) = [2]                  
                  p(cons) = [1]                  
                   p(dbl) = [2] x1 + [1]         
                 p(first) = [8] x1 + [1] x2 + [1]
                  p(half) = [0]                  
                   p(nil) = [0]                  
                 p(recip) = [2]                  
                     p(s) = [1] x1 + [8]         
                   p(sqr) = [2] x1 + [2]         
                 p(terms) = [2] x1 + [1]         
                  p(add#) = [2] x1 + [1] x2 + [0]
                  p(dbl#) = [0]                  
                p(first#) = [1] x1 + [1] x2 + [0]
                 p(half#) = [1] x1 + [4]         
                  p(sqr#) = [8]                  
                p(terms#) = [1]                  
                   p(c_1) = [1]                  
                   p(c_2) = [2] x1 + [1]         
                   p(c_3) = [1]                  
                   p(c_4) = [2] x1 + [4]         
                   p(c_5) = [4]                  
                   p(c_6) = [0]                  
                   p(c_7) = [8]                  
                   p(c_8) = [4]                  
                   p(c_9) = [0]                  
                  p(c_10) = [1] x1 + [10]        
                  p(c_11) = [2]                  
                  p(c_12) = [1] x1 + [1]         
                  p(c_13) = [4]                  
              
              Following rules are strictly oriented:
              half#(s(s(X))) = [1] X + [20]  
                             > [1] X + [14]  
                             = c_10(half#(X))
              
              
              Following rules are (at-least) weakly oriented:
              
        *** 1.1.1.1.1.1.2.1.1.1.2.1.1.1.1.1.1 Progress [(?,O(1))]  ***
            Considered Problem:
              Strict DP Rules:
                
              Strict TRS Rules:
                
              Weak DP Rules:
                half#(s(s(X))) -> c_10(half#(X))
              Weak TRS Rules:
                
              Signature:
                {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
            Applied Processor:
              Assumption
            Proof:
              ()
        
        *** 1.1.1.1.1.1.2.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:
                half#(s(s(X))) -> c_10(half#(X))
              Weak TRS Rules:
                
              Signature:
                {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
            Applied Processor:
              RemoveWeakSuffixes
            Proof:
              Consider the dependency graph
                1:W:half#(s(s(X))) -> c_10(half#(X))
                   -->_1 half#(s(s(X))) -> c_10(half#(X)):1
                
              The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                1: half#(s(s(X))) -> c_10(half#(X))
        *** 1.1.1.1.1.1.2.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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,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.1.1.2 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              sqr#(s(X)) -> c_12(sqr#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              half#(s(s(X))) -> c_10(half#(X))
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:S:sqr#(s(X)) -> c_12(sqr#(X))
                 -->_1 sqr#(s(X)) -> c_12(sqr#(X)):1
              
              2:W:half#(s(s(X))) -> c_10(half#(X))
                 -->_1 half#(s(s(X))) -> c_10(half#(X)):2
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              2: half#(s(s(X))) -> c_10(half#(X))
      *** 1.1.1.1.1.1.2.1.1.1.2.1.1.2.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              sqr#(s(X)) -> c_12(sqr#(X))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              
            Signature:
              {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
            Obligation:
              Innermost
              basic terms: {add#,dbl#,first#,half#,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_12(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.2.1.1 Progress [(?,O(n^1))]  ***
            Considered Problem:
              Strict DP Rules:
                sqr#(s(X)) -> c_12(sqr#(X))
              Strict TRS Rules:
                
              Weak DP Rules:
                
              Weak TRS Rules:
                
              Signature:
                {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,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_12) = {1}
              
              Following symbols are considered usable:
                {add#,dbl#,first#,half#,sqr#,terms#}
              TcT has computed the following interpretation:
                     p(0) = [0]         
                   p(add) = [0]         
                  p(cons) = [1] x1 + [0]
                   p(dbl) = [0]         
                 p(first) = [0]         
                  p(half) = [0]         
                   p(nil) = [0]         
                 p(recip) = [2]         
                     p(s) = [1] x1 + [5]
                   p(sqr) = [0]         
                 p(terms) = [0]         
                  p(add#) = [0]         
                  p(dbl#) = [0]         
                p(first#) = [0]         
                 p(half#) = [0]         
                  p(sqr#) = [5] x1 + [0]
                p(terms#) = [0]         
                   p(c_1) = [0]         
                   p(c_2) = [0]         
                   p(c_3) = [0]         
                   p(c_4) = [0]         
                   p(c_5) = [0]         
                   p(c_6) = [0]         
                   p(c_7) = [0]         
                   p(c_8) = [0]         
                   p(c_9) = [0]         
                  p(c_10) = [8] x1 + [0]
                  p(c_11) = [0]         
                  p(c_12) = [1] x1 + [0]
                  p(c_13) = [1]         
              
              Following rules are strictly oriented:
              sqr#(s(X)) = [5] X + [25] 
                         > [5] X + [0]  
                         = c_12(sqr#(X))
              
              
              Following rules are (at-least) weakly oriented:
              
        *** 1.1.1.1.1.1.2.1.1.1.2.1.1.2.1.1.1 Progress [(?,O(1))]  ***
            Considered Problem:
              Strict DP Rules:
                
              Strict TRS Rules:
                
              Weak DP Rules:
                sqr#(s(X)) -> c_12(sqr#(X))
              Weak TRS Rules:
                
              Signature:
                {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,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.1.2 Progress [(O(1),O(1))]  ***
            Considered Problem:
              Strict DP Rules:
                
              Strict TRS Rules:
                
              Weak DP Rules:
                sqr#(s(X)) -> c_12(sqr#(X))
              Weak TRS Rules:
                
              Signature:
                {add/2,dbl/1,first/2,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
            Applied Processor:
              RemoveWeakSuffixes
            Proof:
              Consider the dependency graph
                1:W:sqr#(s(X)) -> c_12(sqr#(X))
                   -->_1 sqr#(s(X)) -> c_12(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_12(sqr#(X))
        *** 1.1.1.1.1.1.2.1.1.1.2.1.1.2.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,half/1,sqr/1,terms/1,add#/2,dbl#/1,first#/2,half#/1,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/0,c_9/0,c_10/1,c_11/0,c_12/1,c_13/1}
              Obligation:
                Innermost
                basic terms: {add#,dbl#,first#,half#,sqr#,terms#}/{0,cons,nil,recip,s}
            Applied Processor:
              EmptyProcessor
            Proof:
              The problem is already closed. The intended complexity is O(1).