*** 1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        
      Strict TRS Rules:
        app(add(n,x),y) -> add(n,app(x,y))
        app(nil(),y) -> y
        concat(cons(u,v),y) -> cons(u,concat(v,y))
        concat(leaf(),y) -> y
        less_leaves(x,leaf()) -> false()
        less_leaves(cons(u,v),cons(w,z)) -> less_leaves(concat(u,v),concat(w,z))
        less_leaves(leaf(),cons(w,z)) -> true()
        minus(x,0()) -> x
        minus(s(x),s(y)) -> minus(x,y)
        quot(0(),s(y)) -> 0()
        quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
        reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
        reverse(nil()) -> nil()
        shuffle(add(n,x)) -> add(n,shuffle(reverse(x)))
        shuffle(nil()) -> nil()
      Weak DP Rules:
        
      Weak TRS Rules:
        
      Signature:
        {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0}
      Obligation:
        Innermost
        basic terms: {app,concat,less_leaves,minus,quot,reverse,shuffle}/{0,add,cons,false,leaf,nil,s,true}
    Applied Processor:
      DependencyPairs {dpKind_ = DT}
    Proof:
      We add the following dependency tuples:
      
      Strict DPs
        app#(add(n,x),y) -> c_1(app#(x,y))
        app#(nil(),y) -> c_2()
        concat#(cons(u,v),y) -> c_3(concat#(v,y))
        concat#(leaf(),y) -> c_4()
        less_leaves#(x,leaf()) -> c_5()
        less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
        less_leaves#(leaf(),cons(w,z)) -> c_7()
        minus#(x,0()) -> c_8()
        minus#(s(x),s(y)) -> c_9(minus#(x,y))
        quot#(0(),s(y)) -> c_10()
        quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        reverse#(nil()) -> c_13()
        shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        shuffle#(nil()) -> c_15()
      Weak DPs
        
      
      and mark the set of starting terms.
*** 1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        app#(add(n,x),y) -> c_1(app#(x,y))
        app#(nil(),y) -> c_2()
        concat#(cons(u,v),y) -> c_3(concat#(v,y))
        concat#(leaf(),y) -> c_4()
        less_leaves#(x,leaf()) -> c_5()
        less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
        less_leaves#(leaf(),cons(w,z)) -> c_7()
        minus#(x,0()) -> c_8()
        minus#(s(x),s(y)) -> c_9(minus#(x,y))
        quot#(0(),s(y)) -> c_10()
        quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        reverse#(nil()) -> c_13()
        shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        shuffle#(nil()) -> c_15()
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        app(add(n,x),y) -> add(n,app(x,y))
        app(nil(),y) -> y
        concat(cons(u,v),y) -> cons(u,concat(v,y))
        concat(leaf(),y) -> y
        less_leaves(x,leaf()) -> false()
        less_leaves(cons(u,v),cons(w,z)) -> less_leaves(concat(u,v),concat(w,z))
        less_leaves(leaf(),cons(w,z)) -> true()
        minus(x,0()) -> x
        minus(s(x),s(y)) -> minus(x,y)
        quot(0(),s(y)) -> 0()
        quot(s(x),s(y)) -> s(quot(minus(x,y),s(y)))
        reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
        reverse(nil()) -> nil()
        shuffle(add(n,x)) -> add(n,shuffle(reverse(x)))
        shuffle(nil()) -> nil()
      Signature:
        {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
      Obligation:
        Innermost
        basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
    Applied Processor:
      UsableRules
    Proof:
      We replace rewrite rules by usable rules:
        app(add(n,x),y) -> add(n,app(x,y))
        app(nil(),y) -> y
        concat(cons(u,v),y) -> cons(u,concat(v,y))
        concat(leaf(),y) -> y
        minus(x,0()) -> x
        minus(s(x),s(y)) -> minus(x,y)
        reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
        reverse(nil()) -> nil()
        app#(add(n,x),y) -> c_1(app#(x,y))
        app#(nil(),y) -> c_2()
        concat#(cons(u,v),y) -> c_3(concat#(v,y))
        concat#(leaf(),y) -> c_4()
        less_leaves#(x,leaf()) -> c_5()
        less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
        less_leaves#(leaf(),cons(w,z)) -> c_7()
        minus#(x,0()) -> c_8()
        minus#(s(x),s(y)) -> c_9(minus#(x,y))
        quot#(0(),s(y)) -> c_10()
        quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        reverse#(nil()) -> c_13()
        shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        shuffle#(nil()) -> c_15()
*** 1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        app#(add(n,x),y) -> c_1(app#(x,y))
        app#(nil(),y) -> c_2()
        concat#(cons(u,v),y) -> c_3(concat#(v,y))
        concat#(leaf(),y) -> c_4()
        less_leaves#(x,leaf()) -> c_5()
        less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
        less_leaves#(leaf(),cons(w,z)) -> c_7()
        minus#(x,0()) -> c_8()
        minus#(s(x),s(y)) -> c_9(minus#(x,y))
        quot#(0(),s(y)) -> c_10()
        quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        reverse#(nil()) -> c_13()
        shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        shuffle#(nil()) -> c_15()
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        app(add(n,x),y) -> add(n,app(x,y))
        app(nil(),y) -> y
        concat(cons(u,v),y) -> cons(u,concat(v,y))
        concat(leaf(),y) -> y
        minus(x,0()) -> x
        minus(s(x),s(y)) -> minus(x,y)
        reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
        reverse(nil()) -> nil()
      Signature:
        {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
      Obligation:
        Innermost
        basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
    Applied Processor:
      PredecessorEstimation {onSelection = all simple predecessor estimation selector}
    Proof:
      We estimate the number of application of
        {2,4,5,7,8,10,13,15}
      by application of
        Pre({2,4,5,7,8,10,13,15}) = {1,3,6,9,11,12,14}.
      Here rules are labelled as follows:
        1:  app#(add(n,x),y) -> c_1(app#(x  
                                        ,y))
        2:  app#(nil(),y) -> c_2()          
        3:  concat#(cons(u,v),y) ->         
              c_3(concat#(v,y))             
        4:  concat#(leaf(),y) -> c_4()      
        5:  less_leaves#(x,leaf()) -> c_5() 
        6:  less_leaves#(cons(u,v)          
                        ,cons(w,z)) ->      
              c_6(less_leaves#(concat(u,v)  
                              ,concat(w,z)) 
                 ,concat#(u,v)              
                 ,concat#(w,z))             
        7:  less_leaves#(leaf()             
                        ,cons(w,z)) -> c_7()
        8:  minus#(x,0()) -> c_8()          
        9:  minus#(s(x),s(y)) ->            
              c_9(minus#(x,y))              
        10: quot#(0(),s(y)) -> c_10()       
        11: quot#(s(x),s(y)) ->             
              c_11(quot#(minus(x,y),s(y))   
                  ,minus#(x,y))             
        12: reverse#(add(n,x)) ->           
              c_12(app#(reverse(x)          
                       ,add(n,nil()))       
                  ,reverse#(x))             
        13: reverse#(nil()) -> c_13()       
        14: shuffle#(add(n,x)) ->           
              c_14(shuffle#(reverse(x))     
                  ,reverse#(x))             
        15: shuffle#(nil()) -> c_15()       
*** 1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        app#(add(n,x),y) -> c_1(app#(x,y))
        concat#(cons(u,v),y) -> c_3(concat#(v,y))
        less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
        minus#(s(x),s(y)) -> c_9(minus#(x,y))
        quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
      Strict TRS Rules:
        
      Weak DP Rules:
        app#(nil(),y) -> c_2()
        concat#(leaf(),y) -> c_4()
        less_leaves#(x,leaf()) -> c_5()
        less_leaves#(leaf(),cons(w,z)) -> c_7()
        minus#(x,0()) -> c_8()
        quot#(0(),s(y)) -> c_10()
        reverse#(nil()) -> c_13()
        shuffle#(nil()) -> c_15()
      Weak TRS Rules:
        app(add(n,x),y) -> add(n,app(x,y))
        app(nil(),y) -> y
        concat(cons(u,v),y) -> cons(u,concat(v,y))
        concat(leaf(),y) -> y
        minus(x,0()) -> x
        minus(s(x),s(y)) -> minus(x,y)
        reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
        reverse(nil()) -> nil()
      Signature:
        {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
      Obligation:
        Innermost
        basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
    Applied Processor:
      RemoveWeakSuffixes
    Proof:
      Consider the dependency graph
        1:S:app#(add(n,x),y) -> c_1(app#(x,y))
           -->_1 app#(nil(),y) -> c_2():8
           -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):1
        
        2:S:concat#(cons(u,v),y) -> c_3(concat#(v,y))
           -->_1 concat#(leaf(),y) -> c_4():9
           -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):2
        
        3:S:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
           -->_1 less_leaves#(leaf(),cons(w,z)) -> c_7():11
           -->_1 less_leaves#(x,leaf()) -> c_5():10
           -->_3 concat#(leaf(),y) -> c_4():9
           -->_2 concat#(leaf(),y) -> c_4():9
           -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):3
           -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):2
           -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):2
        
        4:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
           -->_1 minus#(x,0()) -> c_8():12
           -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):4
        
        5:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
           -->_1 quot#(0(),s(y)) -> c_10():13
           -->_2 minus#(x,0()) -> c_8():12
           -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):5
           -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):4
        
        6:S:reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
           -->_2 reverse#(nil()) -> c_13():14
           -->_1 app#(nil(),y) -> c_2():8
           -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):6
           -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):1
        
        7:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
           -->_1 shuffle#(nil()) -> c_15():15
           -->_2 reverse#(nil()) -> c_13():14
           -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):7
           -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):6
        
        8:W:app#(nil(),y) -> c_2()
           
        
        9:W:concat#(leaf(),y) -> c_4()
           
        
        10:W:less_leaves#(x,leaf()) -> c_5()
           
        
        11:W:less_leaves#(leaf(),cons(w,z)) -> c_7()
           
        
        12:W:minus#(x,0()) -> c_8()
           
        
        13:W:quot#(0(),s(y)) -> c_10()
           
        
        14:W:reverse#(nil()) -> c_13()
           
        
        15:W:shuffle#(nil()) -> c_15()
           
        
      The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
        15: shuffle#(nil()) -> c_15()       
        14: reverse#(nil()) -> c_13()       
        13: quot#(0(),s(y)) -> c_10()       
        12: minus#(x,0()) -> c_8()          
        10: less_leaves#(x,leaf()) -> c_5() 
        11: less_leaves#(leaf()             
                        ,cons(w,z)) -> c_7()
        9:  concat#(leaf(),y) -> c_4()      
        8:  app#(nil(),y) -> c_2()          
*** 1.1.1.1.1 Progress [(?,O(n^3))]  ***
    Considered Problem:
      Strict DP Rules:
        app#(add(n,x),y) -> c_1(app#(x,y))
        concat#(cons(u,v),y) -> c_3(concat#(v,y))
        less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
        minus#(s(x),s(y)) -> c_9(minus#(x,y))
        quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
      Strict TRS Rules:
        
      Weak DP Rules:
        
      Weak TRS Rules:
        app(add(n,x),y) -> add(n,app(x,y))
        app(nil(),y) -> y
        concat(cons(u,v),y) -> cons(u,concat(v,y))
        concat(leaf(),y) -> y
        minus(x,0()) -> x
        minus(s(x),s(y)) -> minus(x,y)
        reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
        reverse(nil()) -> nil()
      Signature:
        {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
      Obligation:
        Innermost
        basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
    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:
          app#(add(n,x),y) -> c_1(app#(x,y))
        Strict TRS Rules:
          
        Weak DP Rules:
          concat#(cons(u,v),y) -> c_3(concat#(v,y))
          less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          minus#(s(x),s(y)) -> c_9(minus#(x,y))
          quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      
      Problem (S)
        Strict DP Rules:
          concat#(cons(u,v),y) -> c_3(concat#(v,y))
          less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          minus#(s(x),s(y)) -> c_9(minus#(x,y))
          quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Strict TRS Rules:
          
        Weak DP Rules:
          app#(add(n,x),y) -> c_1(app#(x,y))
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
  *** 1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          app#(add(n,x),y) -> c_1(app#(x,y))
        Strict TRS Rules:
          
        Weak DP Rules:
          concat#(cons(u,v),y) -> c_3(concat#(v,y))
          less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          minus#(s(x),s(y)) -> c_9(minus#(x,y))
          quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      Applied Processor:
        RemoveWeakSuffixes
      Proof:
        Consider the dependency graph
          1:S:app#(add(n,x),y) -> c_1(app#(x,y))
             -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):1
          
          2:W:concat#(cons(u,v),y) -> c_3(concat#(v,y))
             -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):2
          
          3:W:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
             -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):3
             -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):2
             -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):2
          
          4:W:minus#(s(x),s(y)) -> c_9(minus#(x,y))
             -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):4
          
          5:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
             -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):5
             -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):4
          
          6:W:reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
             -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):6
             -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):1
          
          7:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
             -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):6
             -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):7
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          5: quot#(s(x),s(y)) ->            
               c_11(quot#(minus(x,y),s(y))  
                   ,minus#(x,y))            
          4: minus#(s(x),s(y)) ->           
               c_9(minus#(x,y))             
          3: less_leaves#(cons(u,v)         
                         ,cons(w,z)) ->     
               c_6(less_leaves#(concat(u,v) 
                               ,concat(w,z))
                  ,concat#(u,v)             
                  ,concat#(w,z))            
          2: concat#(cons(u,v),y) ->        
               c_3(concat#(v,y))            
  *** 1.1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          app#(add(n,x),y) -> c_1(app#(x,y))
        Strict TRS Rules:
          
        Weak DP Rules:
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      Applied Processor:
        UsableRules
      Proof:
        We replace rewrite rules by usable rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
          app#(add(n,x),y) -> c_1(app#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
  *** 1.1.1.1.1.1.1.1 Progress [(?,O(n^3))]  ***
      Considered Problem:
        Strict DP Rules:
          app#(add(n,x),y) -> c_1(app#(x,y))
        Strict TRS Rules:
          
        Weak DP Rules:
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      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
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        and a lower component
          app#(add(n,x),y) -> c_1(app#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
        Further, following extension rules are added to the lower component.
          shuffle#(add(n,x)) -> reverse#(x)
          shuffle#(add(n,x)) -> shuffle#(reverse(x))
    *** 1.1.1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
        Considered Problem:
          Strict DP Rules:
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        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: shuffle#(add(n,x)) ->      
                 c_14(shuffle#(reverse(x))
                     ,reverse#(x))        
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          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_14) = {1}
            
            Following symbols are considered usable:
              {app,reverse,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
            TcT has computed the following interpretation:
                         p(0) = [0]                           
                       p(add) = [1] x2 + [2]                  
                       p(app) = [1] x1 + [1] x2 + [0]         
                    p(concat) = [2] x2 + [1]                  
                      p(cons) = [1]                           
                     p(false) = [1]                           
                      p(leaf) = [1]                           
               p(less_leaves) = [1] x1 + [0]                  
                     p(minus) = [1] x1 + [2]                  
                       p(nil) = [0]                           
                      p(quot) = [2]                           
                   p(reverse) = [1] x1 + [0]                  
                         p(s) = [1] x1 + [1]                  
                   p(shuffle) = [1] x1 + [1]                  
                      p(true) = [1]                           
                      p(app#) = [2] x2 + [0]                  
                   p(concat#) = [1]                           
              p(less_leaves#) = [8] x1 + [4]                  
                    p(minus#) = [0]                           
                     p(quot#) = [1] x1 + [0]                  
                  p(reverse#) = [1] x1 + [0]                  
                  p(shuffle#) = [2] x1 + [2]                  
                       p(c_1) = [2]                           
                       p(c_2) = [1]                           
                       p(c_3) = [1] x1 + [1]                  
                       p(c_4) = [1]                           
                       p(c_5) = [1]                           
                       p(c_6) = [2] x1 + [1] x2 + [1] x3 + [2]
                       p(c_7) = [2]                           
                       p(c_8) = [2]                           
                       p(c_9) = [2] x1 + [0]                  
                      p(c_10) = [1]                           
                      p(c_11) = [4] x1 + [1] x2 + [0]         
                      p(c_12) = [8] x1 + [1]                  
                      p(c_13) = [2]                           
                      p(c_14) = [1] x1 + [0]                  
                      p(c_15) = [0]                           
            
            Following rules are strictly oriented:
            shuffle#(add(n,x)) = [2] x + [6]              
                               > [2] x + [2]              
                               = c_14(shuffle#(reverse(x))
                                     ,reverse#(x))        
            
            
            Following rules are (at-least) weakly oriented:
              app(add(n,x),y) =  [1] x + [1] y + [2]         
                              >= [1] x + [1] y + [2]         
                              =  add(n,app(x,y))             
            
                 app(nil(),y) =  [1] y + [0]                 
                              >= [1] y + [0]                 
                              =  y                           
            
            reverse(add(n,x)) =  [1] x + [2]                 
                              >= [1] x + [2]                 
                              =  app(reverse(x),add(n,nil()))
            
               reverse(nil()) =  [0]                         
                              >= [0]                         
                              =  nil()                       
            
      *** 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:
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 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:
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                 -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):1
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              1: shuffle#(add(n,x)) ->      
                   c_14(shuffle#(reverse(x))
                       ,reverse#(x))        
      *** 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:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
    *** 1.1.1.1.1.1.1.1.2 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            app#(add(n,x),y) -> c_1(app#(x,y))
          Strict TRS Rules:
            
          Weak DP Rules:
            reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
            shuffle#(add(n,x)) -> reverse#(x)
            shuffle#(add(n,x)) -> shuffle#(reverse(x))
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        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: app#(add(n,x),y) -> c_1(app#(x  
                                           ,y))
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.1.1.1.2.1 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              app#(add(n,x),y) -> c_1(app#(x,y))
            Strict TRS Rules:
              
            Weak DP Rules:
              reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
              shuffle#(add(n,x)) -> reverse#(x)
              shuffle#(add(n,x)) -> shuffle#(reverse(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          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_1) = {1},
              uargs(c_12) = {1,2}
            
            Following symbols are considered usable:
              {app,reverse,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
            TcT has computed the following interpretation:
                         p(0) = 0                              
                       p(add) = 1 + x1 + x2                    
                       p(app) = x1 + x2                        
                    p(concat) = 2*x1 + x1*x2 + x1^2 + x2^2     
                      p(cons) = x2                             
                     p(false) = 1                              
                      p(leaf) = 0                              
               p(less_leaves) = 1 + x1 + x1*x2 + x2            
                     p(minus) = 2 + 2*x1 + 4*x1^2 + 4*x2 + x2^2
                       p(nil) = 0                              
                      p(quot) = 1 + x1*x2 + 4*x2^2             
                   p(reverse) = x1                             
                         p(s) = 0                              
                   p(shuffle) = 4 + x1 + 2*x1^2                
                      p(true) = 0                              
                      p(app#) = 3 + x1 + 7*x1*x2               
                   p(concat#) = x1 + x1*x2 + x1^2 + 4*x2^2     
              p(less_leaves#) = 2*x1 + x2                      
                    p(minus#) = 1 + 4*x1*x2 + 2*x2^2           
                     p(quot#) = x1 + 2*x1*x2 + 2*x2            
                  p(reverse#) = x1 + 4*x1^2                    
                  p(shuffle#) = 3 + 4*x1^2                     
                       p(c_1) = x1                             
                       p(c_2) = 0                              
                       p(c_3) = 1                              
                       p(c_4) = 1                              
                       p(c_5) = 1                              
                       p(c_6) = 0                              
                       p(c_7) = 1                              
                       p(c_8) = 0                              
                       p(c_9) = 1                              
                      p(c_10) = 0                              
                      p(c_11) = 1                              
                      p(c_12) = x1 + x2                        
                      p(c_13) = 0                              
                      p(c_14) = x1                             
                      p(c_15) = 1                              
            
            Following rules are strictly oriented:
            app#(add(n,x),y) = 4 + n + 7*n*y + x + 7*x*y + 7*y
                             > 3 + x + 7*x*y                  
                             = c_1(app#(x,y))                 
            
            
            Following rules are (at-least) weakly oriented:
            reverse#(add(n,x)) =  5 + 9*n + 8*n*x + 4*n^2 + 9*x + 4*x^2
                               >= 3 + 7*n*x + 9*x + 4*x^2              
                               =  c_12(app#(reverse(x)                 
                                           ,add(n,nil()))              
                                      ,reverse#(x))                    
            
            shuffle#(add(n,x)) =  7 + 8*n + 8*n*x + 4*n^2 + 8*x + 4*x^2
                               >= x + 4*x^2                            
                               =  reverse#(x)                          
            
            shuffle#(add(n,x)) =  7 + 8*n + 8*n*x + 4*n^2 + 8*x + 4*x^2
                               >= 3 + 4*x^2                            
                               =  shuffle#(reverse(x))                 
            
               app(add(n,x),y) =  1 + n + x + y                        
                               >= 1 + n + x + y                        
                               =  add(n,app(x,y))                      
            
                  app(nil(),y) =  y                                    
                               >= y                                    
                               =  y                                    
            
             reverse(add(n,x)) =  1 + n + x                            
                               >= 1 + n + x                            
                               =  app(reverse(x),add(n,nil()))         
            
                reverse(nil()) =  0                                    
                               >= 0                                    
                               =  nil()                                
            
      *** 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:
              app#(add(n,x),y) -> c_1(app#(x,y))
              reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
              shuffle#(add(n,x)) -> reverse#(x)
              shuffle#(add(n,x)) -> shuffle#(reverse(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 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:
              app#(add(n,x),y) -> c_1(app#(x,y))
              reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
              shuffle#(add(n,x)) -> reverse#(x)
              shuffle#(add(n,x)) -> shuffle#(reverse(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:app#(add(n,x),y) -> c_1(app#(x,y))
                 -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):1
              
              2:W:reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
                 -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):2
                 -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):1
              
              3:W:shuffle#(add(n,x)) -> reverse#(x)
                 -->_1 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):2
              
              4:W:shuffle#(add(n,x)) -> shuffle#(reverse(x))
                 -->_1 shuffle#(add(n,x)) -> shuffle#(reverse(x)):4
                 -->_1 shuffle#(add(n,x)) -> reverse#(x):3
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              4: shuffle#(add(n,x)) ->           
                   shuffle#(reverse(x))          
              3: shuffle#(add(n,x)) ->           
                   reverse#(x)                   
              2: reverse#(add(n,x)) ->           
                   c_12(app#(reverse(x)          
                            ,add(n,nil()))       
                       ,reverse#(x))             
              1: app#(add(n,x),y) -> c_1(app#(x  
                                             ,y))
      *** 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:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
  *** 1.1.1.1.1.2 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          concat#(cons(u,v),y) -> c_3(concat#(v,y))
          less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          minus#(s(x),s(y)) -> c_9(minus#(x,y))
          quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Strict TRS Rules:
          
        Weak DP Rules:
          app#(add(n,x),y) -> c_1(app#(x,y))
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      Applied Processor:
        RemoveWeakSuffixes
      Proof:
        Consider the dependency graph
          1:S:concat#(cons(u,v),y) -> c_3(concat#(v,y))
             -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
          
          2:S:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
             -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):2
             -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
             -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
          
          3:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
             -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):3
          
          4:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
             -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):4
             -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):3
          
          5:S:reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
             -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):7
             -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):5
          
          6:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
             -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):6
             -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):5
          
          7:W:app#(add(n,x),y) -> c_1(app#(x,y))
             -->_1 app#(add(n,x),y) -> c_1(app#(x,y)):7
          
        The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
          7: app#(add(n,x),y) -> c_1(app#(x  
                                         ,y))
  *** 1.1.1.1.1.2.1 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          concat#(cons(u,v),y) -> c_3(concat#(v,y))
          less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          minus#(s(x),s(y)) -> c_9(minus#(x,y))
          quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
          reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/2,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      Applied Processor:
        SimplifyRHS
      Proof:
        Consider the dependency graph
          1:S:concat#(cons(u,v),y) -> c_3(concat#(v,y))
             -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
          
          2:S:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
             -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):2
             -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
             -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
          
          3:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
             -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):3
          
          4:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
             -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):4
             -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):3
          
          5:S:reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x))
             -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):5
          
          6:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
             -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):6
             -->_2 reverse#(add(n,x)) -> c_12(app#(reverse(x),add(n,nil())),reverse#(x)):5
          
        Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
          reverse#(add(n,x)) -> c_12(reverse#(x))
  *** 1.1.1.1.1.2.1.1 Progress [(?,O(n^2))]  ***
      Considered Problem:
        Strict DP Rules:
          concat#(cons(u,v),y) -> c_3(concat#(v,y))
          less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          minus#(s(x),s(y)) -> c_9(minus#(x,y))
          quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
          reverse#(add(n,x)) -> c_12(reverse#(x))
          shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        Strict TRS Rules:
          
        Weak DP Rules:
          
        Weak TRS Rules:
          app(add(n,x),y) -> add(n,app(x,y))
          app(nil(),y) -> y
          concat(cons(u,v),y) -> cons(u,concat(v,y))
          concat(leaf(),y) -> y
          minus(x,0()) -> x
          minus(s(x),s(y)) -> minus(x,y)
          reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
          reverse(nil()) -> nil()
        Signature:
          {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
        Obligation:
          Innermost
          basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      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:
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
          Strict TRS Rules:
            
          Weak DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            minus#(s(x),s(y)) -> c_9(minus#(x,y))
            quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
            reverse#(add(n,x)) -> c_12(reverse#(x))
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        
        Problem (S)
          Strict DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            minus#(s(x),s(y)) -> c_9(minus#(x,y))
            quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
            reverse#(add(n,x)) -> c_12(reverse#(x))
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Strict TRS Rules:
            
          Weak DP Rules:
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
    *** 1.1.1.1.1.2.1.1.1 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
          Strict TRS Rules:
            
          Weak DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            minus#(s(x),s(y)) -> c_9(minus#(x,y))
            quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
            reverse#(add(n,x)) -> c_12(reverse#(x))
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        Applied Processor:
          RemoveWeakSuffixes
        Proof:
          Consider the dependency graph
            1:S:concat#(cons(u,v),y) -> c_3(concat#(v,y))
               -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
            
            2:W:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
               -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):2
               -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
               -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
            
            3:W:minus#(s(x),s(y)) -> c_9(minus#(x,y))
               -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):3
            
            4:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
               -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):3
               -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):4
            
            5:W:reverse#(add(n,x)) -> c_12(reverse#(x))
               -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):5
            
            6:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
               -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):5
               -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):6
            
          The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
            6: shuffle#(add(n,x)) ->        
                 c_14(shuffle#(reverse(x))  
                     ,reverse#(x))          
            5: reverse#(add(n,x)) ->        
                 c_12(reverse#(x))          
            4: quot#(s(x),s(y)) ->          
                 c_11(quot#(minus(x,y),s(y))
                     ,minus#(x,y))          
            3: minus#(s(x),s(y)) ->         
                 c_9(minus#(x,y))           
    *** 1.1.1.1.1.2.1.1.1.1 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
          Strict TRS Rules:
            
          Weak DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        Applied Processor:
          UsableRules
        Proof:
          We replace rewrite rules by usable rules:
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
    *** 1.1.1.1.1.2.1.1.1.1.1 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
          Strict TRS Rules:
            
          Weak DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
          Weak TRS Rules:
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        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: concat#(cons(u,v),y) ->
                 c_3(concat#(v,y))    
            
          The strictly oriented rules are moved into the weak component.
      *** 1.1.1.1.1.2.1.1.1.1.1.1 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              concat#(cons(u,v),y) -> c_3(concat#(v,y))
            Strict TRS Rules:
              
            Weak DP Rules:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            Weak TRS Rules:
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          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_3) = {1},
              uargs(c_6) = {1,2,3}
            
            Following symbols are considered usable:
              {concat,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
            TcT has computed the following interpretation:
                         p(0) = 1                             
                       p(add) = 1                             
                       p(app) = 1 + 2*x1*x2 + x1^2 + x2 + x2^2
                    p(concat) = x1 + x2                       
                      p(cons) = 1 + x1 + x2                   
                     p(false) = 0                             
                      p(leaf) = 1                             
               p(less_leaves) = 2 + x1 + x1^2 + 4*x2^2        
                     p(minus) = 1 + 2*x1 + 2*x1*x2 + x2       
                       p(nil) = 1                             
                      p(quot) = 2 + x1^2                      
                   p(reverse) = x1 + 4*x1^2                   
                         p(s) = 0                             
                   p(shuffle) = 4 + x1                        
                      p(true) = 1                             
                      p(app#) = x1*x2                         
                   p(concat#) = x1                            
              p(less_leaves#) = 4*x1 + 4*x1^2 + 4*x2 + 2*x2^2 
                    p(minus#) = x1 + x1*x2 + x1^2 + 2*x2      
                     p(quot#) = 4 + 2*x1*x2 + x2 + 4*x2^2     
                  p(reverse#) = 1 + 2*x1 + x1^2               
                  p(shuffle#) = 1 + x1                        
                       p(c_1) = 0                             
                       p(c_2) = 1                             
                       p(c_3) = x1                            
                       p(c_4) = 1                             
                       p(c_5) = 1                             
                       p(c_6) = x1 + x2 + x3                  
                       p(c_7) = 1                             
                       p(c_8) = 1                             
                       p(c_9) = x1                            
                      p(c_10) = 1                             
                      p(c_11) = 1 + x1 + x2                   
                      p(c_12) = 0                             
                      p(c_13) = 1                             
                      p(c_14) = x2                            
                      p(c_15) = 1                             
            
            Following rules are strictly oriented:
            concat#(cons(u,v),y) = 1 + u + v        
                                 > v                
                                 = c_3(concat#(v,y))
            
            
            Following rules are (at-least) weakly oriented:
             less_leaves#(cons(u,v) =  14 + 12*u + 8*u*v + 4*u^2 + 12*v + 4*v^2 + 8*w + 4*w*z + 2*w^2 + 8*z + 2*z^2
                        ,cons(w,z))                                                                                
                                    >= 5*u + 8*u*v + 4*u^2 + 4*v + 4*v^2 + 5*w + 4*w*z + 2*w^2 + 4*z + 2*z^2       
                                    =  c_6(less_leaves#(concat(u,v)                                                
                                                       ,concat(w,z))                                               
                                          ,concat#(u,v)                                                            
                                          ,concat#(w,z))                                                           
            
                concat(cons(u,v),y) =  1 + u + v + y                                                               
                                    >= 1 + u + v + y                                                               
                                    =  cons(u,concat(v,y))                                                         
            
                   concat(leaf(),y) =  1 + y                                                                       
                                    >= y                                                                           
                                    =  y                                                                           
            
      *** 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:
              concat#(cons(u,v),y) -> c_3(concat#(v,y))
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            Weak TRS Rules:
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            Assumption
          Proof:
            ()
      
      *** 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:
              concat#(cons(u,v),y) -> c_3(concat#(v,y))
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            Weak TRS Rules:
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:W:concat#(cons(u,v),y) -> c_3(concat#(v,y))
                 -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
              
              2:W:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
                 -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):2
                 -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
                 -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):1
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              2: less_leaves#(cons(u,v)         
                             ,cons(w,z)) ->     
                   c_6(less_leaves#(concat(u,v) 
                                   ,concat(w,z))
                      ,concat#(u,v)             
                      ,concat#(w,z))            
              1: concat#(cons(u,v),y) ->        
                   c_3(concat#(v,y))            
      *** 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:
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            EmptyProcessor
          Proof:
            The problem is already closed. The intended complexity is O(1).
      
    *** 1.1.1.1.1.2.1.1.2 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            minus#(s(x),s(y)) -> c_9(minus#(x,y))
            quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
            reverse#(add(n,x)) -> c_12(reverse#(x))
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Strict TRS Rules:
            
          Weak DP Rules:
            concat#(cons(u,v),y) -> c_3(concat#(v,y))
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        Applied Processor:
          RemoveWeakSuffixes
        Proof:
          Consider the dependency graph
            1:S:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
               -->_3 concat#(cons(u,v),y) -> c_3(concat#(v,y)):6
               -->_2 concat#(cons(u,v),y) -> c_3(concat#(v,y)):6
               -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):1
            
            2:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
               -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):2
            
            3:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
               -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):3
               -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):2
            
            4:S:reverse#(add(n,x)) -> c_12(reverse#(x))
               -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):4
            
            5:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
               -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):5
               -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):4
            
            6:W:concat#(cons(u,v),y) -> c_3(concat#(v,y))
               -->_1 concat#(cons(u,v),y) -> c_3(concat#(v,y)):6
            
          The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
            6: concat#(cons(u,v),y) ->
                 c_3(concat#(v,y))    
    *** 1.1.1.1.1.2.1.1.2.1 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
            minus#(s(x),s(y)) -> c_9(minus#(x,y))
            quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
            reverse#(add(n,x)) -> c_12(reverse#(x))
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/3,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        Applied Processor:
          SimplifyRHS
        Proof:
          Consider the dependency graph
            1:S:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z))
               -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)),concat#(u,v),concat#(w,z)):1
            
            2:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
               -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):2
            
            3:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
               -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):3
               -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):2
            
            4:S:reverse#(add(n,x)) -> c_12(reverse#(x))
               -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):4
            
            5:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
               -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):5
               -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):4
            
          Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
    *** 1.1.1.1.1.2.1.1.2.1.1 Progress [(?,O(n^2))]  ***
        Considered Problem:
          Strict DP Rules:
            less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            minus#(s(x),s(y)) -> c_9(minus#(x,y))
            quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
            reverse#(add(n,x)) -> c_12(reverse#(x))
            shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
          Strict TRS Rules:
            
          Weak DP Rules:
            
          Weak TRS Rules:
            app(add(n,x),y) -> add(n,app(x,y))
            app(nil(),y) -> y
            concat(cons(u,v),y) -> cons(u,concat(v,y))
            concat(leaf(),y) -> y
            minus(x,0()) -> x
            minus(s(x),s(y)) -> minus(x,y)
            reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
            reverse(nil()) -> nil()
          Signature:
            {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
          Obligation:
            Innermost
            basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        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:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            Strict TRS Rules:
              
            Weak DP Rules:
              minus#(s(x),s(y)) -> c_9(minus#(x,y))
              quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              reverse#(add(n,x)) -> c_12(reverse#(x))
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              minus(x,0()) -> x
              minus(s(x),s(y)) -> minus(x,y)
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          
          Problem (S)
            Strict DP Rules:
              minus#(s(x),s(y)) -> c_9(minus#(x,y))
              quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              reverse#(add(n,x)) -> c_12(reverse#(x))
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Strict TRS Rules:
              
            Weak DP Rules:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              minus(x,0()) -> x
              minus(s(x),s(y)) -> minus(x,y)
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
      *** 1.1.1.1.1.2.1.1.2.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            Strict TRS Rules:
              
            Weak DP Rules:
              minus#(s(x),s(y)) -> c_9(minus#(x,y))
              quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              reverse#(add(n,x)) -> c_12(reverse#(x))
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              minus(x,0()) -> x
              minus(s(x),s(y)) -> minus(x,y)
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:S:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
                 -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z))):1
              
              2:W:minus#(s(x),s(y)) -> c_9(minus#(x,y))
                 -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):2
              
              3:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                 -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):3
                 -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):2
              
              4:W:reverse#(add(n,x)) -> c_12(reverse#(x))
                 -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):4
              
              5:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                 -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):4
                 -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):5
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              5: shuffle#(add(n,x)) ->        
                   c_14(shuffle#(reverse(x))  
                       ,reverse#(x))          
              4: reverse#(add(n,x)) ->        
                   c_12(reverse#(x))          
              3: quot#(s(x),s(y)) ->          
                   c_11(quot#(minus(x,y),s(y))
                       ,minus#(x,y))          
              2: minus#(s(x),s(y)) ->         
                   c_9(minus#(x,y))           
      *** 1.1.1.1.1.2.1.1.2.1.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              minus(x,0()) -> x
              minus(s(x),s(y)) -> minus(x,y)
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            UsableRules
          Proof:
            We replace rewrite rules by usable rules:
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
      *** 1.1.1.1.1.2.1.1.2.1.1.1.1.1 Progress [(?,O(n^1))]  ***
          Considered Problem:
            Strict DP Rules:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          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: less_leaves#(cons(u,v)          
                             ,cons(w,z)) ->      
                   c_6(less_leaves#(concat(u,v)  
                                   ,concat(w,z)))
              
            The strictly oriented rules are moved into the weak component.
        *** 1.1.1.1.1.2.1.1.2.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
            Considered Problem:
              Strict DP Rules:
                less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
              Strict TRS Rules:
                
              Weak DP Rules:
                
              Weak TRS Rules:
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            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_6) = {1}
              
              Following symbols are considered usable:
                {concat,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
              TcT has computed the following interpretation:
                           p(0) = [1]                  
                         p(add) = [2]                  
                         p(app) = [2] x1 + [1] x2 + [2]
                      p(concat) = [1] x1 + [1] x2 + [0]
                        p(cons) = [1] x1 + [1] x2 + [2]
                       p(false) = [1]                  
                        p(leaf) = [1]                  
                 p(less_leaves) = [1] x1 + [0]         
                       p(minus) = [1] x1 + [4]         
                         p(nil) = [0]                  
                        p(quot) = [1] x1 + [1]         
                     p(reverse) = [1] x1 + [2]         
                           p(s) = [0]                  
                     p(shuffle) = [2]                  
                        p(true) = [2]                  
                        p(app#) = [1]                  
                     p(concat#) = [1] x1 + [0]         
                p(less_leaves#) = [8] x1 + [0]         
                      p(minus#) = [8] x2 + [1]         
                       p(quot#) = [1] x1 + [1]         
                    p(reverse#) = [0]                  
                    p(shuffle#) = [8] x1 + [2]         
                         p(c_1) = [0]                  
                         p(c_2) = [0]                  
                         p(c_3) = [8] x1 + [0]         
                         p(c_4) = [1]                  
                         p(c_5) = [0]                  
                         p(c_6) = [1] x1 + [14]        
                         p(c_7) = [4]                  
                         p(c_8) = [2]                  
                         p(c_9) = [1] x1 + [0]         
                        p(c_10) = [1]                  
                        p(c_11) = [2] x1 + [1] x2 + [1]
                        p(c_12) = [4]                  
                        p(c_13) = [0]                  
                        p(c_14) = [1] x2 + [0]         
                        p(c_15) = [2]                  
              
              Following rules are strictly oriented:
               less_leaves#(cons(u,v) = [8] u + [8] v + [16]          
                          ,cons(w,z))                                 
                                      > [8] u + [8] v + [14]          
                                      = c_6(less_leaves#(concat(u,v)  
                                                        ,concat(w,z)))
              
              
              Following rules are (at-least) weakly oriented:
              concat(cons(u,v),y) =  [1] u + [1] v + [1] y + [2]
                                  >= [1] u + [1] v + [1] y + [2]
                                  =  cons(u,concat(v,y))        
              
                 concat(leaf(),y) =  [1] y + [1]                
                                  >= [1] y + [0]                
                                  =  y                          
              
        *** 1.1.1.1.1.2.1.1.2.1.1.1.1.1.1.1 Progress [(?,O(1))]  ***
            Considered Problem:
              Strict DP Rules:
                
              Strict TRS Rules:
                
              Weak DP Rules:
                less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
              Weak TRS Rules:
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              Assumption
            Proof:
              ()
        
        *** 1.1.1.1.1.2.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:
                less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
              Weak TRS Rules:
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              RemoveWeakSuffixes
            Proof:
              Consider the dependency graph
                1:W:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
                   -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z))):1
                
              The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                1: less_leaves#(cons(u,v)          
                               ,cons(w,z)) ->      
                     c_6(less_leaves#(concat(u,v)  
                                     ,concat(w,z)))
        *** 1.1.1.1.1.2.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:
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              EmptyProcessor
            Proof:
              The problem is already closed. The intended complexity is O(1).
        
      *** 1.1.1.1.1.2.1.1.2.1.1.2 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              minus#(s(x),s(y)) -> c_9(minus#(x,y))
              quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              reverse#(add(n,x)) -> c_12(reverse#(x))
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Strict TRS Rules:
              
            Weak DP Rules:
              less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              minus(x,0()) -> x
              minus(s(x),s(y)) -> minus(x,y)
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          Applied Processor:
            RemoveWeakSuffixes
          Proof:
            Consider the dependency graph
              1:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
                 -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):1
              
              2:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                 -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):2
                 -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):1
              
              3:S:reverse#(add(n,x)) -> c_12(reverse#(x))
                 -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):3
              
              4:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                 -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):4
                 -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):3
              
              5:W:less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z)))
                 -->_1 less_leaves#(cons(u,v),cons(w,z)) -> c_6(less_leaves#(concat(u,v),concat(w,z))):5
              
            The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
              5: less_leaves#(cons(u,v)          
                             ,cons(w,z)) ->      
                   c_6(less_leaves#(concat(u,v)  
                                   ,concat(w,z)))
      *** 1.1.1.1.1.2.1.1.2.1.1.2.1 Progress [(?,O(n^2))]  ***
          Considered Problem:
            Strict DP Rules:
              minus#(s(x),s(y)) -> c_9(minus#(x,y))
              quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              reverse#(add(n,x)) -> c_12(reverse#(x))
              shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            Strict TRS Rules:
              
            Weak DP Rules:
              
            Weak TRS Rules:
              app(add(n,x),y) -> add(n,app(x,y))
              app(nil(),y) -> y
              concat(cons(u,v),y) -> cons(u,concat(v,y))
              concat(leaf(),y) -> y
              minus(x,0()) -> x
              minus(s(x),s(y)) -> minus(x,y)
              reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
              reverse(nil()) -> nil()
            Signature:
              {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
            Obligation:
              Innermost
              basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          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:
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
              Strict TRS Rules:
                
              Weak DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            
            Problem (S)
              Strict DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Strict TRS Rules:
                
              Weak DP Rules:
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.1 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
              Strict TRS Rules:
                
              Weak DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              RemoveWeakSuffixes
            Proof:
              Consider the dependency graph
                1:S:minus#(s(x),s(y)) -> c_9(minus#(x,y))
                   -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):1
                
                2:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                   -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):2
                   -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):1
                
                3:W:reverse#(add(n,x)) -> c_12(reverse#(x))
                   -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):3
                
                4:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                   -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):3
                   -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):4
                
              The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                4: shuffle#(add(n,x)) ->      
                     c_14(shuffle#(reverse(x))
                         ,reverse#(x))        
                3: reverse#(add(n,x)) ->      
                     c_12(reverse#(x))        
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.1.1 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
              Strict TRS Rules:
                
              Weak DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              UsableRules
            Proof:
              We replace rewrite rules by usable rules:
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.1.1.1 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
              Strict TRS Rules:
                
              Weak DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
              Weak TRS Rules:
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            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: minus#(s(x),s(y)) ->
                     c_9(minus#(x,y))  
                
              The strictly oriented rules are moved into the weak component.
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.1.1.1.1 Progress [(?,O(n^2))]  ***
              Considered Problem:
                Strict DP Rules:
                  minus#(s(x),s(y)) -> c_9(minus#(x,y))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                Weak TRS Rules:
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              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_9) = {1},
                  uargs(c_11) = {1,2}
                
                Following symbols are considered usable:
                  {minus,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
                TcT has computed the following interpretation:
                             p(0) = 0                                      
                           p(add) = x1                                     
                           p(app) = 4*x1*x2 + x1^2 + 2*x2^2                
                        p(concat) = 1 + x1^2 + x2^2                        
                          p(cons) = x2                                     
                         p(false) = 0                                      
                          p(leaf) = 0                                      
                   p(less_leaves) = 4 + x1 + 4*x1^2 + 4*x2^2               
                         p(minus) = x1                                     
                           p(nil) = 0                                      
                          p(quot) = 2*x1 + x2                              
                       p(reverse) = 2*x1 + x1^2                            
                             p(s) = 1 + x1                                 
                       p(shuffle) = 2*x1 + 2*x1^2                          
                          p(true) = 1                                      
                          p(app#) = 1 + 4*x1 + x1*x2 + 2*x2^2              
                       p(concat#) = x1                                     
                  p(less_leaves#) = 2 + 4*x1 + 2*x1*x2 + 2*x1^2 + x2 + x2^2
                        p(minus#) = 4*x1                                   
                         p(quot#) = 1 + 2*x1^2                             
                      p(reverse#) = 2 + x1 + 2*x1^2                        
                      p(shuffle#) = x1 + x1^2                              
                           p(c_1) = 1                                      
                           p(c_2) = 1                                      
                           p(c_3) = 0                                      
                           p(c_4) = 1                                      
                           p(c_5) = 1                                      
                           p(c_6) = 0                                      
                           p(c_7) = 0                                      
                           p(c_8) = 0                                      
                           p(c_9) = x1                                     
                          p(c_10) = 1                                      
                          p(c_11) = 1 + x1 + x2                            
                          p(c_12) = 1                                      
                          p(c_13) = 0                                      
                          p(c_14) = x1 + x2                                
                          p(c_15) = 0                                      
                
                Following rules are strictly oriented:
                minus#(s(x),s(y)) = 4 + 4*x         
                                  > 4*x             
                                  = c_9(minus#(x,y))
                
                
                Following rules are (at-least) weakly oriented:
                quot#(s(x),s(y)) =  3 + 4*x + 2*x^2            
                                 >= 2 + 4*x + 2*x^2            
                                 =  c_11(quot#(minus(x,y),s(y))
                                        ,minus#(x,y))          
                
                    minus(x,0()) =  x                          
                                 >= x                          
                                 =  x                          
                
                minus(s(x),s(y)) =  1 + x                      
                                 >= x                          
                                 =  minus(x,y)                 
                
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.1.1.1.1.1 Progress [(?,O(1))]  ***
              Considered Problem:
                Strict DP Rules:
                  
                Strict TRS Rules:
                  
                Weak DP Rules:
                  minus#(s(x),s(y)) -> c_9(minus#(x,y))
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                Weak TRS Rules:
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              Applied Processor:
                Assumption
              Proof:
                ()
          
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.1.1.1.2 Progress [(O(1),O(1))]  ***
              Considered Problem:
                Strict DP Rules:
                  
                Strict TRS Rules:
                  
                Weak DP Rules:
                  minus#(s(x),s(y)) -> c_9(minus#(x,y))
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                Weak TRS Rules:
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              Applied Processor:
                RemoveWeakSuffixes
              Proof:
                Consider the dependency graph
                  1:W:minus#(s(x),s(y)) -> c_9(minus#(x,y))
                     -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):1
                  
                  2:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                     -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):2
                     -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):1
                  
                The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                  2: quot#(s(x),s(y)) ->          
                       c_11(quot#(minus(x,y),s(y))
                           ,minus#(x,y))          
                  1: minus#(s(x),s(y)) ->         
                       c_9(minus#(x,y))           
          *** 1.1.1.1.1.2.1.1.2.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:
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              Applied Processor:
                EmptyProcessor
              Proof:
                The problem is already closed. The intended complexity is O(1).
          
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Strict TRS Rules:
                
              Weak DP Rules:
                minus#(s(x),s(y)) -> c_9(minus#(x,y))
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              RemoveWeakSuffixes
            Proof:
              Consider the dependency graph
                1:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                   -->_2 minus#(s(x),s(y)) -> c_9(minus#(x,y)):4
                   -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):1
                
                2:S:reverse#(add(n,x)) -> c_12(reverse#(x))
                   -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                
                3:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                   -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):3
                   -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                
                4:W:minus#(s(x),s(y)) -> c_9(minus#(x,y))
                   -->_1 minus#(s(x),s(y)) -> c_9(minus#(x,y)):4
                
              The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                4: minus#(s(x),s(y)) ->
                     c_9(minus#(x,y))  
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Strict TRS Rules:
                
              Weak DP Rules:
                
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/2,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              SimplifyRHS
            Proof:
              Consider the dependency graph
                1:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y))
                   -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)),minus#(x,y)):1
                
                2:S:reverse#(add(n,x)) -> c_12(reverse#(x))
                   -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                
                3:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                   -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):3
                   -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                
              Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Strict TRS Rules:
                
              Weak DP Rules:
                
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                concat(cons(u,v),y) -> cons(u,concat(v,y))
                concat(leaf(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            Applied Processor:
              UsableRules
            Proof:
              We replace rewrite rules by usable rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
        *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1 Progress [(?,O(n^2))]  ***
            Considered Problem:
              Strict DP Rules:
                quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                reverse#(add(n,x)) -> c_12(reverse#(x))
                shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
              Strict TRS Rules:
                
              Weak DP Rules:
                
              Weak TRS Rules:
                app(add(n,x),y) -> add(n,app(x,y))
                app(nil(),y) -> y
                minus(x,0()) -> x
                minus(s(x),s(y)) -> minus(x,y)
                reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                reverse(nil()) -> nil()
              Signature:
                {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
              Obligation:
                Innermost
                basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            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:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  reverse#(add(n,x)) -> c_12(reverse#(x))
                  shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                Weak TRS Rules:
                  app(add(n,x),y) -> add(n,app(x,y))
                  app(nil(),y) -> y
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                  reverse(nil()) -> nil()
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              
              Problem (S)
                Strict DP Rules:
                  reverse#(add(n,x)) -> c_12(reverse#(x))
                  shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                Weak TRS Rules:
                  app(add(n,x),y) -> add(n,app(x,y))
                  app(nil(),y) -> y
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                  reverse(nil()) -> nil()
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.1 Progress [(?,O(n^1))]  ***
              Considered Problem:
                Strict DP Rules:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  reverse#(add(n,x)) -> c_12(reverse#(x))
                  shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                Weak TRS Rules:
                  app(add(n,x),y) -> add(n,app(x,y))
                  app(nil(),y) -> y
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                  reverse(nil()) -> nil()
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              Applied Processor:
                RemoveWeakSuffixes
              Proof:
                Consider the dependency graph
                  1:S:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                     -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y))):1
                  
                  2:W:reverse#(add(n,x)) -> c_12(reverse#(x))
                     -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                  
                  3:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                     -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                     -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):3
                  
                The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                  3: shuffle#(add(n,x)) ->      
                       c_14(shuffle#(reverse(x))
                           ,reverse#(x))        
                  2: reverse#(add(n,x)) ->      
                       c_12(reverse#(x))        
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.1.1 Progress [(?,O(n^1))]  ***
              Considered Problem:
                Strict DP Rules:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  
                Weak TRS Rules:
                  app(add(n,x),y) -> add(n,app(x,y))
                  app(nil(),y) -> y
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                  reverse(nil()) -> nil()
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              Applied Processor:
                UsableRules
              Proof:
                We replace rewrite rules by usable rules:
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
              Considered Problem:
                Strict DP Rules:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  
                Weak TRS Rules:
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              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: quot#(s(x),s(y)) ->           
                       c_11(quot#(minus(x,y),s(y)))
                  
                The strictly oriented rules are moved into the weak component.
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.1.1.1.1 Progress [(?,O(n^1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    
                  Weak TRS Rules:
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                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_11) = {1}
                  
                  Following symbols are considered usable:
                    {minus,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
                  TcT has computed the following interpretation:
                               p(0) = [0]                  
                             p(add) = [1] x1 + [1] x2 + [0]
                             p(app) = [0]                  
                          p(concat) = [0]                  
                            p(cons) = [1] x1 + [1] x2 + [0]
                           p(false) = [0]                  
                            p(leaf) = [0]                  
                     p(less_leaves) = [0]                  
                           p(minus) = [1] x1 + [0]         
                             p(nil) = [0]                  
                            p(quot) = [0]                  
                         p(reverse) = [0]                  
                               p(s) = [1] x1 + [1]         
                         p(shuffle) = [0]                  
                            p(true) = [0]                  
                            p(app#) = [0]                  
                         p(concat#) = [0]                  
                    p(less_leaves#) = [0]                  
                          p(minus#) = [2] x2 + [0]         
                           p(quot#) = [8] x1 + [9] x2 + [7]
                        p(reverse#) = [1]                  
                        p(shuffle#) = [2]                  
                             p(c_1) = [0]                  
                             p(c_2) = [0]                  
                             p(c_3) = [1] x1 + [2]         
                             p(c_4) = [1]                  
                             p(c_5) = [1]                  
                             p(c_6) = [8] x1 + [0]         
                             p(c_7) = [1]                  
                             p(c_8) = [0]                  
                             p(c_9) = [8] x1 + [1]         
                            p(c_10) = [0]                  
                            p(c_11) = [1] x1 + [0]         
                            p(c_12) = [1]                  
                            p(c_13) = [1]                  
                            p(c_14) = [2] x2 + [1]         
                            p(c_15) = [1]                  
                  
                  Following rules are strictly oriented:
                  quot#(s(x),s(y)) = [8] x + [9] y + [24]        
                                   > [8] x + [9] y + [16]        
                                   = c_11(quot#(minus(x,y),s(y)))
                  
                  
                  Following rules are (at-least) weakly oriented:
                      minus(x,0()) =  [1] x + [0]
                                   >= [1] x + [0]
                                   =  x          
                  
                  minus(s(x),s(y)) =  [1] x + [1]
                                   >= [1] x + [0]
                                   =  minus(x,y) 
                  
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.1.1.1.1.1 Progress [(?,O(1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                  Weak TRS Rules:
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  Assumption
                Proof:
                  ()
            
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.1.1.1.2 Progress [(O(1),O(1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                  Weak TRS Rules:
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  RemoveWeakSuffixes
                Proof:
                  Consider the dependency graph
                    1:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                       -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y))):1
                    
                  The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                    1: quot#(s(x),s(y)) ->           
                         c_11(quot#(minus(x,y),s(y)))
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.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:
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  EmptyProcessor
                Proof:
                  The problem is already closed. The intended complexity is O(1).
            
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2 Progress [(?,O(n^2))]  ***
              Considered Problem:
                Strict DP Rules:
                  reverse#(add(n,x)) -> c_12(reverse#(x))
                  shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                Weak TRS Rules:
                  app(add(n,x),y) -> add(n,app(x,y))
                  app(nil(),y) -> y
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                  reverse(nil()) -> nil()
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              Applied Processor:
                RemoveWeakSuffixes
              Proof:
                Consider the dependency graph
                  1:S:reverse#(add(n,x)) -> c_12(reverse#(x))
                     -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):1
                  
                  2:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                     -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):2
                     -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):1
                  
                  3:W:quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y)))
                     -->_1 quot#(s(x),s(y)) -> c_11(quot#(minus(x,y),s(y))):3
                  
                The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                  3: quot#(s(x),s(y)) ->           
                       c_11(quot#(minus(x,y),s(y)))
          *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1 Progress [(?,O(n^2))]  ***
              Considered Problem:
                Strict DP Rules:
                  reverse#(add(n,x)) -> c_12(reverse#(x))
                  shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                Strict TRS Rules:
                  
                Weak DP Rules:
                  
                Weak TRS Rules:
                  app(add(n,x),y) -> add(n,app(x,y))
                  app(nil(),y) -> y
                  minus(x,0()) -> x
                  minus(s(x),s(y)) -> minus(x,y)
                  reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                  reverse(nil()) -> nil()
                Signature:
                  {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                Obligation:
                  Innermost
                  basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
              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:
                    reverse#(add(n,x)) -> c_12(reverse#(x))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                
                Problem (S)
                  Strict DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    reverse#(add(n,x)) -> c_12(reverse#(x))
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.1 Progress [(?,O(n^2))]  ***
                Considered Problem:
                  Strict DP Rules:
                    reverse#(add(n,x)) -> c_12(reverse#(x))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  UsableRules
                Proof:
                  We replace rewrite rules by usable rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                    reverse#(add(n,x)) -> c_12(reverse#(x))
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.1.1 Progress [(?,O(n^2))]  ***
                Considered Problem:
                  Strict DP Rules:
                    reverse#(add(n,x)) -> c_12(reverse#(x))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                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: reverse#(add(n,x)) ->
                         c_12(reverse#(x))  
                    
                  The strictly oriented rules are moved into the weak component.
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.1.1.1 Progress [(?,O(n^2))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      reverse#(add(n,x)) -> c_12(reverse#(x))
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  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_12) = {1},
                      uargs(c_14) = {1,2}
                    
                    Following symbols are considered usable:
                      {app,reverse,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
                    TcT has computed the following interpretation:
                                 p(0) = 0                                    
                               p(add) = 1 + x2                               
                               p(app) = x1 + x2                              
                            p(concat) = 1 + x1*x2 + x1^2 + 4*x2 + x2^2       
                              p(cons) = 1                                    
                             p(false) = 1                                    
                              p(leaf) = 1                                    
                       p(less_leaves) = 4*x1 + 4*x1^2 + 4*x2 + x2^2          
                             p(minus) = 1 + 2*x1^2                           
                               p(nil) = 0                                    
                              p(quot) = 4*x1*x2 + x1^2                       
                           p(reverse) = x1                                   
                                 p(s) = 0                                    
                           p(shuffle) = 0                                    
                              p(true) = 0                                    
                              p(app#) = 2*x1*x2 + 2*x1^2 + x2^2              
                           p(concat#) = 1 + x1 + x1*x2 + x1^2 + 4*x2 + 4*x2^2
                      p(less_leaves#) = x1^2 + x2                            
                            p(minus#) = 1 + x2 + x2^2                        
                             p(quot#) = 2 + x1                               
                          p(reverse#) = 1 + 4*x1                             
                          p(shuffle#) = 6 + 4*x1 + 4*x1^2                    
                               p(c_1) = 1 + x1                               
                               p(c_2) = 1                                    
                               p(c_3) = 0                                    
                               p(c_4) = 1                                    
                               p(c_5) = 1                                    
                               p(c_6) = 1                                    
                               p(c_7) = 1                                    
                               p(c_8) = 1                                    
                               p(c_9) = 0                                    
                              p(c_10) = 1                                    
                              p(c_11) = 1                                    
                              p(c_12) = x1                                   
                              p(c_13) = 0                                    
                              p(c_14) = 1 + x1 + x2                          
                              p(c_15) = 0                                    
                    
                    Following rules are strictly oriented:
                    reverse#(add(n,x)) = 5 + 4*x          
                                       > 1 + 4*x          
                                       = c_12(reverse#(x))
                    
                    
                    Following rules are (at-least) weakly oriented:
                    shuffle#(add(n,x)) =  14 + 12*x + 4*x^2           
                                       >= 8 + 8*x + 4*x^2             
                                       =  c_14(shuffle#(reverse(x))   
                                              ,reverse#(x))           
                    
                       app(add(n,x),y) =  1 + x + y                   
                                       >= 1 + x + y                   
                                       =  add(n,app(x,y))             
                    
                          app(nil(),y) =  y                           
                                       >= y                           
                                       =  y                           
                    
                     reverse(add(n,x)) =  1 + x                       
                                       >= 1 + x                       
                                       =  app(reverse(x),add(n,nil()))
                    
                        reverse(nil()) =  0                           
                                       >= 0                           
                                       =  nil()                       
                    
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.1.1.1.1 Progress [(?,O(1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      reverse#(add(n,x)) -> c_12(reverse#(x))
                      shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  Applied Processor:
                    Assumption
                  Proof:
                    ()
              
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.1.1.2 Progress [(O(1),O(1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      reverse#(add(n,x)) -> c_12(reverse#(x))
                      shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  Applied Processor:
                    RemoveWeakSuffixes
                  Proof:
                    Consider the dependency graph
                      1:W:reverse#(add(n,x)) -> c_12(reverse#(x))
                         -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):1
                      
                      2:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                         -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):2
                         -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):1
                      
                    The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                      2: shuffle#(add(n,x)) ->      
                           c_14(shuffle#(reverse(x))
                               ,reverse#(x))        
                      1: reverse#(add(n,x)) ->      
                           c_12(reverse#(x))        
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.1.1.2.1 Progress [(O(1),O(1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  Applied Processor:
                    EmptyProcessor
                  Proof:
                    The problem is already closed. The intended complexity is O(1).
              
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2 Progress [(?,O(n^1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    reverse#(add(n,x)) -> c_12(reverse#(x))
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  RemoveWeakSuffixes
                Proof:
                  Consider the dependency graph
                    1:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                       -->_2 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                       -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):1
                    
                    2:W:reverse#(add(n,x)) -> c_12(reverse#(x))
                       -->_1 reverse#(add(n,x)) -> c_12(reverse#(x)):2
                    
                  The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                    2: reverse#(add(n,x)) ->
                         c_12(reverse#(x))  
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1 Progress [(?,O(n^1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/2,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  SimplifyRHS
                Proof:
                  Consider the dependency graph
                    1:S:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x))
                       -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)),reverse#(x)):1
                    
                  Due to missing edges in the depndency graph, the right-hand sides of following rules could be simplified:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1.1 Progress [(?,O(n^1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    minus(x,0()) -> x
                    minus(s(x),s(y)) -> minus(x,y)
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/1,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                Applied Processor:
                  UsableRules
                Proof:
                  We replace rewrite rules by usable rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
            *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1.1.1 Progress [(?,O(n^1))]  ***
                Considered Problem:
                  Strict DP Rules:
                    shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
                  Strict TRS Rules:
                    
                  Weak DP Rules:
                    
                  Weak TRS Rules:
                    app(add(n,x),y) -> add(n,app(x,y))
                    app(nil(),y) -> y
                    reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                    reverse(nil()) -> nil()
                  Signature:
                    {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/1,c_15/0}
                  Obligation:
                    Innermost
                    basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                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: shuffle#(add(n,x)) ->       
                         c_14(shuffle#(reverse(x)))
                    
                  The strictly oriented rules are moved into the weak component.
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1.1.1.1 Progress [(?,O(n^1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/1,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  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_14) = {1}
                    
                    Following symbols are considered usable:
                      {app,reverse,app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}
                    TcT has computed the following interpretation:
                                 p(0) = [4]                  
                               p(add) = [1] x2 + [1]         
                               p(app) = [1] x1 + [1] x2 + [0]
                            p(concat) = [4] x2 + [1]         
                              p(cons) = [1] x2 + [2]         
                             p(false) = [4]                  
                              p(leaf) = [0]                  
                       p(less_leaves) = [1] x1 + [1] x2 + [2]
                             p(minus) = [1]                  
                               p(nil) = [0]                  
                              p(quot) = [1]                  
                           p(reverse) = [1] x1 + [0]         
                                 p(s) = [4]                  
                           p(shuffle) = [4]                  
                              p(true) = [2]                  
                              p(app#) = [2] x2 + [1]         
                           p(concat#) = [2] x1 + [1]         
                      p(less_leaves#) = [1] x2 + [0]         
                            p(minus#) = [1]                  
                             p(quot#) = [1] x1 + [1] x2 + [0]
                          p(reverse#) = [4] x1 + [1]         
                          p(shuffle#) = [1] x1 + [0]         
                               p(c_1) = [1]                  
                               p(c_2) = [1]                  
                               p(c_3) = [1]                  
                               p(c_4) = [1]                  
                               p(c_5) = [2]                  
                               p(c_6) = [1] x1 + [0]         
                               p(c_7) = [0]                  
                               p(c_8) = [1]                  
                               p(c_9) = [0]                  
                              p(c_10) = [0]                  
                              p(c_11) = [1]                  
                              p(c_12) = [0]                  
                              p(c_13) = [1]                  
                              p(c_14) = [1] x1 + [0]         
                              p(c_15) = [0]                  
                    
                    Following rules are strictly oriented:
                    shuffle#(add(n,x)) = [1] x + [1]               
                                       > [1] x + [0]               
                                       = c_14(shuffle#(reverse(x)))
                    
                    
                    Following rules are (at-least) weakly oriented:
                      app(add(n,x),y) =  [1] x + [1] y + [1]         
                                      >= [1] x + [1] y + [1]         
                                      =  add(n,app(x,y))             
                    
                         app(nil(),y) =  [1] y + [0]                 
                                      >= [1] y + [0]                 
                                      =  y                           
                    
                    reverse(add(n,x)) =  [1] x + [1]                 
                                      >= [1] x + [1]                 
                                      =  app(reverse(x),add(n,nil()))
                    
                       reverse(nil()) =  [0]                         
                                      >= [0]                         
                                      =  nil()                       
                    
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1.1.1.1.1 Progress [(?,O(1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/1,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  Applied Processor:
                    Assumption
                  Proof:
                    ()
              
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1.1.1.2 Progress [(O(1),O(1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/1,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  Applied Processor:
                    RemoveWeakSuffixes
                  Proof:
                    Consider the dependency graph
                      1:W:shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x)))
                         -->_1 shuffle#(add(n,x)) -> c_14(shuffle#(reverse(x))):1
                      
                    The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed.
                      1: shuffle#(add(n,x)) ->       
                           c_14(shuffle#(reverse(x)))
              *** 1.1.1.1.1.2.1.1.2.1.1.2.1.2.1.1.1.2.1.2.1.1.1.2.1 Progress [(O(1),O(1))]  ***
                  Considered Problem:
                    Strict DP Rules:
                      
                    Strict TRS Rules:
                      
                    Weak DP Rules:
                      
                    Weak TRS Rules:
                      app(add(n,x),y) -> add(n,app(x,y))
                      app(nil(),y) -> y
                      reverse(add(n,x)) -> app(reverse(x),add(n,nil()))
                      reverse(nil()) -> nil()
                    Signature:
                      {app/2,concat/2,less_leaves/2,minus/2,quot/2,reverse/1,shuffle/1,app#/2,concat#/2,less_leaves#/2,minus#/2,quot#/2,reverse#/1,shuffle#/1} / {0/0,add/2,cons/2,false/0,leaf/0,nil/0,s/1,true/0,c_1/1,c_2/0,c_3/1,c_4/0,c_5/0,c_6/1,c_7/0,c_8/0,c_9/1,c_10/0,c_11/1,c_12/1,c_13/0,c_14/1,c_15/0}
                    Obligation:
                      Innermost
                      basic terms: {app#,concat#,less_leaves#,minus#,quot#,reverse#,shuffle#}/{0,add,cons,false,leaf,nil,s,true}
                  Applied Processor:
                    EmptyProcessor
                  Proof:
                    The problem is already closed. The intended complexity is O(1).