Problem Rubio 04 quick

Tool CaT

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 quick

stdout:

MAYBE

Problem:
 le(0(),Y) -> true()
 le(s(X),0()) -> false()
 le(s(X),s(Y)) -> le(X,Y)
 app(nil(),Y) -> Y
 app(cons(N,L),Y) -> cons(N,app(L,Y))
 low(N,nil()) -> nil()
 low(N,cons(M,L)) -> iflow(le(M,N),N,cons(M,L))
 iflow(true(),N,cons(M,L)) -> cons(M,low(N,L))
 iflow(false(),N,cons(M,L)) -> low(N,L)
 high(N,nil()) -> nil()
 high(N,cons(M,L)) -> ifhigh(le(M,N),N,cons(M,L))
 ifhigh(true(),N,cons(M,L)) -> high(N,L)
 ifhigh(false(),N,cons(M,L)) -> cons(M,high(N,L))
 quicksort(nil()) -> nil()
 quicksort(cons(N,L)) -> app(quicksort(low(N,L)),cons(N,quicksort(high(N,L))))

Proof:
 Open

Tool IRC1

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 quick

stdout:

MAYBE

Tool IRC2

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 quick

stdout:

MAYBE

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           MAYBE
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  le(0(), Y) -> true()
     , le(s(X), 0()) -> false()
     , le(s(X), s(Y)) -> le(X, Y)
     , app(nil(), Y) -> Y
     , app(cons(N, L), Y) -> cons(N, app(L, Y))
     , low(N, nil()) -> nil()
     , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
     , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
     , iflow(false(), N, cons(M, L)) -> low(N, L)
     , high(N, nil()) -> nil()
     , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
     , ifhigh(true(), N, cons(M, L)) -> high(N, L)
     , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))
     , quicksort(nil()) -> nil()
     , quicksort(cons(N, L)) ->
       app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))}

Proof Output:    
  None of the processors succeeded.
  
  Details of failed attempt(s):
  -----------------------------
    1) 'wdg' failed due to the following reason:
         Transformation Details:
         -----------------------
           We have computed the following set of weak (innermost) dependency pairs:
           
             {  1: le^#(0(), Y) -> c_0()
              , 2: le^#(s(X), 0()) -> c_1()
              , 3: le^#(s(X), s(Y)) -> c_2(le^#(X, Y))
              , 4: app^#(nil(), Y) -> c_3()
              , 5: app^#(cons(N, L), Y) -> c_4(app^#(L, Y))
              , 6: low^#(N, nil()) -> c_5()
              , 7: low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
              , 8: iflow^#(true(), N, cons(M, L)) -> c_7(low^#(N, L))
              , 9: iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
              , 10: high^#(N, nil()) -> c_9()
              , 11: high^#(N, cons(M, L)) ->
                    c_10(ifhigh^#(le(M, N), N, cons(M, L)))
              , 12: ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
              , 13: ifhigh^#(false(), N, cons(M, L)) -> c_12(high^#(N, L))
              , 14: quicksort^#(nil()) -> c_13()
              , 15: quicksort^#(cons(N, L)) ->
                    c_14(app^#(quicksort(low(N, L)), cons(N, quicksort(high(N, L)))))}
           
           Following Dependency Graph (modulo SCCs) was computed. (Answers to
           subproofs are indicated to the right.)
           
             ->{15}                                                      [     inherited      ]
                |
                |->{4}                                                   [         NA         ]
                |
                `->{5}                                                   [     inherited      ]
                    |
                    `->{4}                                               [         NA         ]
             
             ->{14}                                                      [    YES(?,O(1))     ]
             
             ->{11,13,12}                                                [   YES(?,O(n^1))    ]
                |
                `->{10}                                                  [   YES(?,O(n^1))    ]
             
             ->{7,9,8}                                                   [   YES(?,O(n^1))    ]
                |
                `->{6}                                                   [   YES(?,O(n^1))    ]
             
             ->{3}                                                       [   YES(?,O(n^2))    ]
                |
                |->{1}                                                   [   YES(?,O(n^2))    ]
                |
                `->{2}                                                   [   YES(?,O(n^1))    ]
             
           
         
         Sub-problems:
         -------------
           * Path {3}: YES(?,O(n^2))
             -----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 2] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [3 3] x1 + [3 3] x2 + [0]
                               [3 3]      [3 3]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1 6] x1 + [2]
                        [0 1]      [0]
                le^#(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 0]      [0 0]      [4]
                c_2(x1) = [1 0] x1 + [1]
                          [0 0]      [3]
           
           * Path {3}->{1}: YES(?,O(n^2))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {le^#(0(), Y) -> c_0()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                      [2]
                s(x1) = [1 2] x1 + [0]
                        [0 1]      [2]
                le^#(x1, x2) = [3 2] x1 + [2 3] x2 + [0]
                               [3 3]      [0 1]      [0]
                c_0() = [1]
                        [0]
                c_2(x1) = [1 0] x1 + [3]
                          [0 0]      [7]
           
           * Path {3}->{2}: YES(?,O(n^1))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), 0()) -> c_1()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                      [2]
                s(x1) = [1 0] x1 + [2]
                        [0 1]      [2]
                le^#(x1, x2) = [2 0] x1 + [0 2] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_1() = [1]
                        [0]
                c_2(x1) = [1 0] x1 + [3]
                          [0 0]      [0]
           
           * Path {7,9,8}: YES(?,O(n^1))
             ---------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {1}, Uargs(iflow^#) = {1},
                 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 1] x1 + [0 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [0]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [0]
                        [0 1]      [2]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 1] x2 + [0]
                               [0 1]      [0 1]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 1] x2 + [0]
                                [3 3]      [3 3]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                iflow^#(x1, x2, x3) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [0]
                                      [3 3]      [3 3]      [3 3]      [0]
                c_7(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                c_8(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules:
                 {  low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
                  , iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
                  , iflow^#(true(), N, cons(M, L)) -> c_7(low^#(N, L))}
               Weak Rules:
                 {  le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {}, Uargs(low^#) = {},
                 Uargs(c_6) = {1}, Uargs(iflow^#) = {}, Uargs(c_7) = {1},
                 Uargs(c_8) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [4 0] x2 + [0]
                             [0 0]      [2 0]      [0]
                0() = [2]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 1] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                cons(x1, x2) = [0 0] x1 + [1 1] x2 + [0]
                               [0 0]      [0 0]      [4]
                low^#(x1, x2) = [0 0] x1 + [4 1] x2 + [2]
                                [0 0]      [3 0]      [0]
                c_6(x1) = [1 0] x1 + [1]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [4 0] x3 + [4]
                                      [0 0]      [0 4]      [0 0]      [0]
                c_7(x1) = [1 0] x1 + [1]
                          [0 0]      [0]
                c_8(x1) = [1 0] x1 + [1]
                          [0 0]      [0]
           
           * Path {7,9,8}->{6}: YES(?,O(n^1))
             --------------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {1}, Uargs(iflow^#) = {1},
                 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [2 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [1]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [1]
                        [0 0]      [0]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                iflow^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                c_8(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {low^#(N, nil()) -> c_5()}
               Weak Rules:
                 {  low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
                  , iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
                  , iflow^#(true(), N, cons(M, L)) -> c_7(low^#(N, L))
                  , le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {}, Uargs(low^#) = {},
                 Uargs(c_6) = {1}, Uargs(iflow^#) = {}, Uargs(c_7) = {1},
                 Uargs(c_8) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [4]
                             [0 0]      [2 0]      [4]
                0() = [2]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                nil() = [2]
                        [0]
                cons(x1, x2) = [0 0] x1 + [1 2] x2 + [4]
                               [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [2 0] x2 + [4]
                                [0 0]      [0 0]      [4]
                c_5() = [1]
                        [0]
                c_6(x1) = [1 0] x1 + [3]
                          [0 0]      [3]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [2 0] x3 + [0]
                                      [0 0]      [0 4]      [0 0]      [0]
                c_7(x1) = [1 0] x1 + [4]
                          [0 0]      [0]
                c_8(x1) = [1 0] x1 + [3]
                          [0 0]      [0]
           
           * Path {11,13,12}: YES(?,O(n^1))
             ------------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {1}, Uargs(ifhigh^#) = {1}, Uargs(c_11) = {1},
                 Uargs(c_12) = {1}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 1] x1 + [0 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [0]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [0]
                        [0 1]      [2]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 1] x2 + [0]
                               [0 1]      [0 1]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 1] x2 + [0]
                                 [3 3]      [3 3]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                ifhigh^#(x1, x2, x3) = [1 0] x1 + [0 0] x2 + [1 0] x3 + [0]
                                       [3 3]      [3 3]      [3 3]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                c_12(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules:
                 {  high^#(N, cons(M, L)) -> c_10(ifhigh^#(le(M, N), N, cons(M, L)))
                  , ifhigh^#(false(), N, cons(M, L)) -> c_12(high^#(N, L))
                  , ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))}
               Weak Rules:
                 {  le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {1}, Uargs(c_12) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [4 0] x2 + [0]
                             [0 0]      [2 0]      [0]
                0() = [2]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 1] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                cons(x1, x2) = [0 0] x1 + [1 1] x2 + [0]
                               [0 0]      [0 0]      [4]
                high^#(x1, x2) = [0 0] x1 + [4 1] x2 + [2]
                                 [0 0]      [3 0]      [0]
                c_10(x1) = [1 0] x1 + [1]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [4 0] x3 + [4]
                                       [0 0]      [0 4]      [0 0]      [0]
                c_11(x1) = [1 0] x1 + [1]
                           [0 0]      [0]
                c_12(x1) = [1 0] x1 + [1]
                           [0 0]      [0]
           
           * Path {11,13,12}->{10}: YES(?,O(n^1))
             ------------------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {1}, Uargs(ifhigh^#) = {1}, Uargs(c_11) = {1},
                 Uargs(c_12) = {1}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [2 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [1]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [1]
                        [0 0]      [0]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                ifhigh^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                c_12(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {high^#(N, nil()) -> c_9()}
               Weak Rules:
                 {  high^#(N, cons(M, L)) -> c_10(ifhigh^#(le(M, N), N, cons(M, L)))
                  , ifhigh^#(false(), N, cons(M, L)) -> c_12(high^#(N, L))
                  , ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
                  , le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {1}, Uargs(c_12) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [4]
                             [0 0]      [2 0]      [4]
                0() = [2]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                nil() = [2]
                        [0]
                cons(x1, x2) = [0 0] x1 + [1 2] x2 + [4]
                               [0 0]      [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [2 0] x2 + [4]
                                 [0 0]      [0 0]      [4]
                c_9() = [1]
                        [0]
                c_10(x1) = [1 0] x1 + [3]
                           [0 0]      [3]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [2 0] x3 + [0]
                                       [0 0]      [0 4]      [0 0]      [0]
                c_11(x1) = [1 0] x1 + [4]
                           [0 0]      [0]
                c_12(x1) = [1 0] x1 + [3]
                           [0 0]      [0]
           
           * Path {14}: YES(?,O(1))
             ----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3() = [0]
                        [0]
                c_4(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {quicksort^#(nil()) -> c_13()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(quicksort^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                nil() = [2]
                        [2]
                quicksort^#(x1) = [2 0] x1 + [7]
                                  [2 2]      [7]
                c_13() = [0]
                         [1]
           
           * Path {15}: inherited
             --------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{4}: NA
             ------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {15}->{5}: inherited
             -------------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{5}->{4}: NA
             -----------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
    
    2) 'wdg' failed due to the following reason:
         Transformation Details:
         -----------------------
           We have computed the following set of weak (innermost) dependency pairs:
           
             {  1: le^#(0(), Y) -> c_0()
              , 2: le^#(s(X), 0()) -> c_1()
              , 3: le^#(s(X), s(Y)) -> c_2(le^#(X, Y))
              , 4: app^#(nil(), Y) -> c_3()
              , 5: app^#(cons(N, L), Y) -> c_4(app^#(L, Y))
              , 6: low^#(N, nil()) -> c_5()
              , 7: low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
              , 8: iflow^#(true(), N, cons(M, L)) -> c_7(low^#(N, L))
              , 9: iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
              , 10: high^#(N, nil()) -> c_9()
              , 11: high^#(N, cons(M, L)) ->
                    c_10(ifhigh^#(le(M, N), N, cons(M, L)))
              , 12: ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
              , 13: ifhigh^#(false(), N, cons(M, L)) -> c_12(high^#(N, L))
              , 14: quicksort^#(nil()) -> c_13()
              , 15: quicksort^#(cons(N, L)) ->
                    c_14(app^#(quicksort(low(N, L)), cons(N, quicksort(high(N, L)))))}
           
           Following Dependency Graph (modulo SCCs) was computed. (Answers to
           subproofs are indicated to the right.)
           
             ->{15}                                                      [     inherited      ]
                |
                |->{4}                                                   [         NA         ]
                |
                `->{5}                                                   [     inherited      ]
                    |
                    `->{4}                                               [         NA         ]
             
             ->{14}                                                      [    YES(?,O(1))     ]
             
             ->{11,13,12}                                                [       MAYBE        ]
                |
                `->{10}                                                  [         NA         ]
             
             ->{7,9,8}                                                   [         NA         ]
                |
                `->{6}                                                   [         NA         ]
             
             ->{3}                                                       [   YES(?,O(n^1))    ]
                |
                |->{1}                                                   [   YES(?,O(n^1))    ]
                |
                `->{2}                                                   [   YES(?,O(n^1))    ]
             
           
         
         Sub-problems:
         -------------
           * Path {3}: YES(?,O(n^1))
             -----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [1] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [3] x1 + [3] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [1] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3() = [0]
                c_4(x1) = [0] x1 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1) = [0] x1 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1] x1 + [2]
                le^#(x1, x2) = [2] x1 + [2] x2 + [0]
                c_2(x1) = [1] x1 + [7]
           
           * Path {3}->{1}: YES(?,O(n^1))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [0] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [1] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3() = [0]
                c_4(x1) = [0] x1 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1) = [0] x1 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {le^#(0(), Y) -> c_0()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                s(x1) = [1] x1 + [2]
                le^#(x1, x2) = [3] x1 + [3] x2 + [2]
                c_0() = [1]
                c_2(x1) = [1] x1 + [5]
           
           * Path {3}->{2}: YES(?,O(n^1))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [0] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [1] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3() = [0]
                c_4(x1) = [0] x1 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1) = [0] x1 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), 0()) -> c_1()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                s(x1) = [1] x1 + [2]
                le^#(x1, x2) = [2] x1 + [2] x2 + [0]
                c_1() = [1]
                c_2(x1) = [1] x1 + [7]
           
           * Path {7,9,8}: NA
             ----------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {7,9,8}->{6}: NA
             ---------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {1}, Uargs(iflow^#) = {1},
                 Uargs(c_7) = {1}, Uargs(c_8) = {1}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [1] x1 + [1] x2 + [3]
                0() = [3]
                true() = [1]
                s(x1) = [1] x1 + [3]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [0] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3() = [0]
                c_4(x1) = [0] x1 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [1] x1 + [0]
                iflow^#(x1, x2, x3) = [3] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1) = [1] x1 + [0]
                c_8(x1) = [1] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1) = [0] x1 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {11,13,12}: MAYBE
             ----------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           MAYBE
             Input Problem:    innermost runtime-complexity with respect to
               Rules:
                 {  high^#(N, cons(M, L)) -> c_10(ifhigh^#(le(M, N), N, cons(M, L)))
                  , ifhigh^#(false(), N, cons(M, L)) -> c_12(high^#(N, L))
                  , ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
                  , le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The input cannot be shown compatible
           
           * Path {11,13,12}->{10}: NA
             -------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {1}, Uargs(ifhigh^#) = {1}, Uargs(c_11) = {1},
                 Uargs(c_12) = {1}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [1] x1 + [1] x2 + [3]
                0() = [3]
                true() = [1]
                s(x1) = [1] x1 + [3]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [0] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3() = [0]
                c_4(x1) = [0] x1 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [1] x1 + [0]
                ifhigh^#(x1, x2, x3) = [3] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [1] x1 + [0]
                c_12(x1) = [1] x1 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {14}: YES(?,O(1))
             ----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_4) = {},
                 Uargs(low^#) = {}, Uargs(c_6) = {}, Uargs(iflow^#) = {},
                 Uargs(c_7) = {}, Uargs(c_8) = {}, Uargs(high^#) = {},
                 Uargs(c_10) = {}, Uargs(ifhigh^#) = {}, Uargs(c_11) = {},
                 Uargs(c_12) = {}, Uargs(quicksort^#) = {}, Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [0] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [0] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3() = [0]
                c_4(x1) = [0] x1 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1) = [0] x1 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1) = [0] x1 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    innermost DP runtime-complexity with respect to
               Strict Rules: {quicksort^#(nil()) -> c_13()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(quicksort^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                nil() = [7]
                quicksort^#(x1) = [1] x1 + [7]
                c_13() = [1]
           
           * Path {15}: inherited
             --------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{4}: NA
             ------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {15}->{5}: inherited
             -------------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{5}->{4}: NA
             -----------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
    
    3) 'matrix-interpretation of dimension 1' failed due to the following reason:
         The input cannot be shown compatible
    
    4) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason:
         match-boundness of the problem could not be verified.
    
    5) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason:
         match-boundness of the problem could not be verified.
    

Tool RC1

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 quick

stdout:

MAYBE

Tool RC2

Execution TimeUnknown
Answer
MAYBE
InputRubio 04 quick

stdout:

MAYBE

'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer:           MAYBE
Input Problem:    runtime-complexity with respect to
  Rules:
    {  le(0(), Y) -> true()
     , le(s(X), 0()) -> false()
     , le(s(X), s(Y)) -> le(X, Y)
     , app(nil(), Y) -> Y
     , app(cons(N, L), Y) -> cons(N, app(L, Y))
     , low(N, nil()) -> nil()
     , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
     , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
     , iflow(false(), N, cons(M, L)) -> low(N, L)
     , high(N, nil()) -> nil()
     , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
     , ifhigh(true(), N, cons(M, L)) -> high(N, L)
     , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))
     , quicksort(nil()) -> nil()
     , quicksort(cons(N, L)) ->
       app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))}

Proof Output:    
  None of the processors succeeded.
  
  Details of failed attempt(s):
  -----------------------------
    1) 'wdg' failed due to the following reason:
         Transformation Details:
         -----------------------
           We have computed the following set of weak (innermost) dependency pairs:
           
             {  1: le^#(0(), Y) -> c_0()
              , 2: le^#(s(X), 0()) -> c_1()
              , 3: le^#(s(X), s(Y)) -> c_2(le^#(X, Y))
              , 4: app^#(nil(), Y) -> c_3(Y)
              , 5: app^#(cons(N, L), Y) -> c_4(N, app^#(L, Y))
              , 6: low^#(N, nil()) -> c_5()
              , 7: low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
              , 8: iflow^#(true(), N, cons(M, L)) -> c_7(M, low^#(N, L))
              , 9: iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
              , 10: high^#(N, nil()) -> c_9()
              , 11: high^#(N, cons(M, L)) ->
                    c_10(ifhigh^#(le(M, N), N, cons(M, L)))
              , 12: ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
              , 13: ifhigh^#(false(), N, cons(M, L)) -> c_12(M, high^#(N, L))
              , 14: quicksort^#(nil()) -> c_13()
              , 15: quicksort^#(cons(N, L)) ->
                    c_14(app^#(quicksort(low(N, L)), cons(N, quicksort(high(N, L)))))}
           
           Following Dependency Graph (modulo SCCs) was computed. (Answers to
           subproofs are indicated to the right.)
           
             ->{15}                                                      [     inherited      ]
                |
                |->{4}                                                   [         NA         ]
                |
                `->{5}                                                   [     inherited      ]
                    |
                    `->{4}                                               [         NA         ]
             
             ->{14}                                                      [    YES(?,O(1))     ]
             
             ->{11,13,12}                                                [   YES(?,O(n^2))    ]
                |
                `->{10}                                                  [   YES(?,O(n^2))    ]
             
             ->{7,9,8}                                                   [   YES(?,O(n^2))    ]
                |
                `->{6}                                                   [   YES(?,O(n^1))    ]
             
             ->{3}                                                       [   YES(?,O(n^2))    ]
                |
                |->{1}                                                   [   YES(?,O(n^2))    ]
                |
                `->{2}                                                   [   YES(?,O(n^1))    ]
             
           
         
         Sub-problems:
         -------------
           * Path {3}: YES(?,O(n^2))
             -----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 2] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [3 3] x1 + [3 3] x2 + [0]
                               [3 3]      [3 3]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1 6] x1 + [2]
                        [0 1]      [0]
                le^#(x1, x2) = [1 2] x1 + [1 0] x2 + [0]
                               [0 0]      [0 0]      [4]
                c_2(x1) = [1 0] x1 + [1]
                          [0 0]      [3]
           
           * Path {3}->{1}: YES(?,O(n^2))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {le^#(0(), Y) -> c_0()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                      [2]
                s(x1) = [1 2] x1 + [0]
                        [0 1]      [2]
                le^#(x1, x2) = [3 2] x1 + [2 3] x2 + [0]
                               [3 3]      [0 1]      [0]
                c_0() = [1]
                        [0]
                c_2(x1) = [1 0] x1 + [3]
                          [0 0]      [7]
           
           * Path {3}->{2}: YES(?,O(n^1))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), 0()) -> c_1()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [0]
                      [2]
                s(x1) = [1 0] x1 + [2]
                        [0 1]      [2]
                le^#(x1, x2) = [2 0] x1 + [0 2] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_1() = [1]
                        [0]
                c_2(x1) = [1 0] x1 + [3]
                          [0 0]      [0]
           
           * Path {7,9,8}: YES(?,O(n^2))
             ---------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {1},
                 Uargs(iflow^#) = {1}, Uargs(c_7) = {2}, Uargs(c_8) = {1},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 1] x1 + [0 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [0]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [0]
                        [0 1]      [2]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                               [0 1]      [0 1]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [1 2] x2 + [0]
                                [3 3]      [3 3]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                iflow^#(x1, x2, x3) = [2 0] x1 + [0 0] x2 + [1 0] x3 + [0]
                                      [3 3]      [3 3]      [3 3]      [0]
                c_7(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                              [0 0]      [0 1]      [0]
                c_8(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^2))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules:
                 {  low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
                  , iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
                  , iflow^#(true(), N, cons(M, L)) -> c_7(M, low^#(N, L))}
               Weak Rules:
                 {  le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {}, Uargs(low^#) = {},
                 Uargs(c_6) = {1}, Uargs(iflow^#) = {}, Uargs(c_7) = {2},
                 Uargs(c_8) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 4] x1 + [2 1] x2 + [0]
                             [0 0]      [0 4]      [0]
                0() = [3]
                      [2]
                true() = [0]
                         [0]
                s(x1) = [1 2] x1 + [0]
                        [0 1]      [0]
                false() = [0]
                          [0]
                cons(x1, x2) = [0 3] x1 + [1 2] x2 + [0]
                               [0 1]      [0 0]      [4]
                low^#(x1, x2) = [0 0] x1 + [1 1] x2 + [0]
                                [0 0]      [4 0]      [0]
                c_6(x1) = [1 0] x1 + [1]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [1]
                                      [0 0]      [0 4]      [0 0]      [0]
                c_7(x1, x2) = [0 1] x1 + [1 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [1 0] x1 + [0]
                          [0 0]      [0]
           
           * Path {7,9,8}->{6}: YES(?,O(n^1))
             --------------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {1},
                 Uargs(iflow^#) = {1}, Uargs(c_7) = {2}, Uargs(c_8) = {1},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [2 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [1]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [1]
                        [0 0]      [0]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                iflow^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                              [0 0]      [0 1]      [0]
                c_8(x1) = [1 0] x1 + [0]
                          [0 1]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {low^#(N, nil()) -> c_5()}
               Weak Rules:
                 {  low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
                  , iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
                  , iflow^#(true(), N, cons(M, L)) -> c_7(M, low^#(N, L))
                  , le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {}, Uargs(low^#) = {},
                 Uargs(c_6) = {1}, Uargs(iflow^#) = {}, Uargs(c_7) = {2},
                 Uargs(c_8) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [4]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [1]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [1 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [1]
                                      [0 0]      [4 2]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [1 0] x1 + [0]
                          [0 0]      [0]
           
           * Path {11,13,12}: YES(?,O(n^2))
             ------------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {1},
                 Uargs(c_11) = {1}, Uargs(c_12) = {2}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 1] x1 + [0 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [0]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [0]
                        [0 1]      [1]
                false() = [0]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [1 1] x2 + [0]
                               [0 1]      [0 1]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [2 2] x2 + [0]
                                 [3 3]      [3 3]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                ifhigh^#(x1, x2, x3) = [2 0] x1 + [0 0] x2 + [2 0] x3 + [0]
                                       [3 3]      [3 3]      [3 3]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                c_12(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                               [0 0]      [0 1]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^2))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules:
                 {  high^#(N, cons(M, L)) -> c_10(ifhigh^#(le(M, N), N, cons(M, L)))
                  , ifhigh^#(false(), N, cons(M, L)) -> c_12(M, high^#(N, L))
                  , ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))}
               Weak Rules:
                 {  le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {1}, Uargs(c_12) = {2}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [1 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                cons(x1, x2) = [0 0] x1 + [0 4] x2 + [1]
                               [0 0]      [0 1]      [1]
                high^#(x1, x2) = [0 0] x1 + [0 4] x2 + [0]
                                 [4 4]      [2 0]      [2]
                c_10(x1) = [1 0] x1 + [0]
                           [0 0]      [3]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [1 0] x3 + [0]
                                       [0 0]      [4 0]      [0 0]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                               [0 0]      [0 0]      [0]
           
           * Path {11,13,12}->{10}: YES(?,O(n^2))
             ------------------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {1},
                 Uargs(c_11) = {1}, Uargs(c_12) = {2}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [2 0] x2 + [2]
                             [0 0]      [0 0]      [3]
                0() = [1]
                      [0]
                true() = [1]
                         [1]
                s(x1) = [1 0] x1 + [1]
                        [0 0]      [0]
                false() = [1]
                          [1]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                ifhigh^#(x1, x2, x3) = [3 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 1]      [0]
                c_12(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                               [0 0]      [0 1]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(n^2))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {high^#(N, nil()) -> c_9()}
               Weak Rules:
                 {  high^#(N, cons(M, L)) -> c_10(ifhigh^#(le(M, N), N, cons(M, L)))
                  , ifhigh^#(false(), N, cons(M, L)) -> c_12(M, high^#(N, L))
                  , ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
                  , le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(cons) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {1}, Uargs(c_12) = {2}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 2] x1 + [0 2] x2 + [0]
                             [2 2]      [2 0]      [0]
                0() = [2]
                      [2]
                true() = [0]
                         [0]
                s(x1) = [1 2] x1 + [2]
                        [0 1]      [2]
                false() = [0]
                          [0]
                nil() = [2]
                        [0]
                cons(x1, x2) = [0 2] x1 + [1 2] x2 + [0]
                               [0 0]      [0 0]      [2]
                high^#(x1, x2) = [0 0] x1 + [2 0] x2 + [0]
                                 [4 4]      [4 4]      [0]
                c_9() = [1]
                        [0]
                c_10(x1) = [1 0] x1 + [0]
                           [2 0]      [7]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [2 0] x3 + [0]
                                       [0 0]      [4 4]      [2 2]      [0]
                c_11(x1) = [1 0] x1 + [0]
                           [0 0]      [3]
                c_12(x1, x2) = [0 0] x1 + [1 0] x2 + [0]
                               [0 0]      [0 0]      [4]
           
           * Path {14}: YES(?,O(1))
             ----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                             [0 0]      [0 0]      [0]
                0() = [0]
                      [0]
                true() = [0]
                         [0]
                s(x1) = [0 0] x1 + [0]
                        [0 0]      [0]
                false() = [0]
                          [0]
                app(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                nil() = [0]
                        [0]
                cons(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                low(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                iflow(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                    [0 0]      [0 0]      [0 0]      [0]
                high(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                ifhigh(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                     [0 0]      [0 0]      [0 0]      [0]
                quicksort(x1) = [0 0] x1 + [0]
                                [0 0]      [0]
                le^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                c_0() = [0]
                        [0]
                c_1() = [0]
                        [0]
                c_2(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                app^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_3(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                c_4(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                low^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                [0 0]      [0 0]      [0]
                c_5() = [0]
                        [0]
                c_6(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                iflow^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                      [0 0]      [0 0]      [0 0]      [0]
                c_7(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                              [0 0]      [0 0]      [0]
                c_8(x1) = [0 0] x1 + [0]
                          [0 0]      [0]
                high^#(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                                 [0 0]      [0 0]      [0]
                c_9() = [0]
                        [0]
                c_10(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                ifhigh^#(x1, x2, x3) = [0 0] x1 + [0 0] x2 + [0 0] x3 + [0]
                                       [0 0]      [0 0]      [0 0]      [0]
                c_11(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
                c_12(x1, x2) = [0 0] x1 + [0 0] x2 + [0]
                               [0 0]      [0 0]      [0]
                quicksort^#(x1) = [0 0] x1 + [0]
                                  [0 0]      [0]
                c_13() = [0]
                         [0]
                c_14(x1) = [0 0] x1 + [0]
                           [0 0]      [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 2'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {quicksort^#(nil()) -> c_13()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(quicksort^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                nil() = [2]
                        [2]
                quicksort^#(x1) = [2 0] x1 + [7]
                                  [2 2]      [7]
                c_13() = [0]
                         [1]
           
           * Path {15}: inherited
             --------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{4}: NA
             ------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {15}->{5}: inherited
             -------------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{5}->{4}: NA
             -----------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
    
    2) 'wdg' failed due to the following reason:
         Transformation Details:
         -----------------------
           We have computed the following set of weak (innermost) dependency pairs:
           
             {  1: le^#(0(), Y) -> c_0()
              , 2: le^#(s(X), 0()) -> c_1()
              , 3: le^#(s(X), s(Y)) -> c_2(le^#(X, Y))
              , 4: app^#(nil(), Y) -> c_3(Y)
              , 5: app^#(cons(N, L), Y) -> c_4(N, app^#(L, Y))
              , 6: low^#(N, nil()) -> c_5()
              , 7: low^#(N, cons(M, L)) -> c_6(iflow^#(le(M, N), N, cons(M, L)))
              , 8: iflow^#(true(), N, cons(M, L)) -> c_7(M, low^#(N, L))
              , 9: iflow^#(false(), N, cons(M, L)) -> c_8(low^#(N, L))
              , 10: high^#(N, nil()) -> c_9()
              , 11: high^#(N, cons(M, L)) ->
                    c_10(ifhigh^#(le(M, N), N, cons(M, L)))
              , 12: ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
              , 13: ifhigh^#(false(), N, cons(M, L)) -> c_12(M, high^#(N, L))
              , 14: quicksort^#(nil()) -> c_13()
              , 15: quicksort^#(cons(N, L)) ->
                    c_14(app^#(quicksort(low(N, L)), cons(N, quicksort(high(N, L)))))}
           
           Following Dependency Graph (modulo SCCs) was computed. (Answers to
           subproofs are indicated to the right.)
           
             ->{15}                                                      [     inherited      ]
                |
                |->{4}                                                   [         NA         ]
                |
                `->{5}                                                   [     inherited      ]
                    |
                    `->{4}                                               [         NA         ]
             
             ->{14}                                                      [    YES(?,O(1))     ]
             
             ->{11,13,12}                                                [       MAYBE        ]
                |
                `->{10}                                                  [         NA         ]
             
             ->{7,9,8}                                                   [         NA         ]
                |
                `->{6}                                                   [         NA         ]
             
             ->{3}                                                       [   YES(?,O(n^1))    ]
                |
                |->{1}                                                   [   YES(?,O(n^1))    ]
                |
                `->{2}                                                   [   YES(?,O(n^1))    ]
             
           
         
         Sub-problems:
         -------------
           * Path {3}: YES(?,O(n^1))
             -----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [1] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [3] x1 + [3] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [1] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3(x1) = [0] x1 + [0]
                c_4(x1, x2) = [0] x1 + [0] x2 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1, x2) = [0] x1 + [0] x2 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1, x2) = [0] x1 + [0] x2 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                s(x1) = [1] x1 + [2]
                le^#(x1, x2) = [2] x1 + [2] x2 + [0]
                c_2(x1) = [1] x1 + [7]
           
           * Path {3}->{1}: YES(?,O(n^1))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [0] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [1] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3(x1) = [0] x1 + [0]
                c_4(x1, x2) = [0] x1 + [0] x2 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1, x2) = [0] x1 + [0] x2 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1, x2) = [0] x1 + [0] x2 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {le^#(0(), Y) -> c_0()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                s(x1) = [1] x1 + [2]
                le^#(x1, x2) = [3] x1 + [3] x2 + [2]
                c_0() = [1]
                c_2(x1) = [1] x1 + [5]
           
           * Path {3}->{2}: YES(?,O(n^1))
             ----------------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {1}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [0] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [1] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3(x1) = [0] x1 + [0]
                c_4(x1, x2) = [0] x1 + [0] x2 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1, x2) = [0] x1 + [0] x2 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1, x2) = [0] x1 + [0] x2 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(n^1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {le^#(s(X), 0()) -> c_1()}
               Weak Rules: {le^#(s(X), s(Y)) -> c_2(le^#(X, Y))}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(s) = {}, Uargs(le^#) = {}, Uargs(c_2) = {1}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                0() = [2]
                s(x1) = [1] x1 + [2]
                le^#(x1, x2) = [2] x1 + [2] x2 + [0]
                c_1() = [1]
                c_2(x1) = [1] x1 + [7]
           
           * Path {7,9,8}: NA
             ----------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {7,9,8}->{6}: NA
             ---------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {1},
                 Uargs(iflow^#) = {1}, Uargs(c_7) = {2}, Uargs(c_8) = {1},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [1] x1 + [1] x2 + [3]
                0() = [3]
                true() = [1]
                s(x1) = [1] x1 + [3]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [0] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3(x1) = [0] x1 + [0]
                c_4(x1, x2) = [0] x1 + [0] x2 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [1] x1 + [0]
                iflow^#(x1, x2, x3) = [3] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1, x2) = [0] x1 + [1] x2 + [0]
                c_8(x1) = [1] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1, x2) = [0] x1 + [0] x2 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {11,13,12}: MAYBE
             ----------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           MAYBE
             Input Problem:    runtime-complexity with respect to
               Rules:
                 {  high^#(N, cons(M, L)) -> c_10(ifhigh^#(le(M, N), N, cons(M, L)))
                  , ifhigh^#(false(), N, cons(M, L)) -> c_12(M, high^#(N, L))
                  , ifhigh^#(true(), N, cons(M, L)) -> c_11(high^#(N, L))
                  , le(0(), Y) -> true()
                  , le(s(X), 0()) -> false()
                  , le(s(X), s(Y)) -> le(X, Y)}
             
             Proof Output:    
               The input cannot be shown compatible
           
           * Path {11,13,12}->{10}: NA
             -------------------------
             
             The usable rules for this path are:
             
               {  le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)}
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {1}, Uargs(ifhigh^#) = {1},
                 Uargs(c_11) = {1}, Uargs(c_12) = {2}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [1] x1 + [1] x2 + [3]
                0() = [3]
                true() = [1]
                s(x1) = [1] x1 + [3]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [0] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3(x1) = [0] x1 + [0]
                c_4(x1, x2) = [0] x1 + [0] x2 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1, x2) = [0] x1 + [0] x2 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [1] x1 + [0]
                ifhigh^#(x1, x2, x3) = [3] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [1] x1 + [0]
                c_12(x1, x2) = [0] x1 + [1] x2 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             Complexity induced by the adequate RMI: YES(?,O(n^1))
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {14}: YES(?,O(1))
             ----------------------
             
             The usable rules of this path are empty.
             
             The weightgap principle applies, using the following adequate RMI:
               The following argument positions are usable:
                 Uargs(le) = {}, Uargs(s) = {}, Uargs(app) = {}, Uargs(cons) = {},
                 Uargs(low) = {}, Uargs(iflow) = {}, Uargs(high) = {},
                 Uargs(ifhigh) = {}, Uargs(quicksort) = {}, Uargs(le^#) = {},
                 Uargs(c_2) = {}, Uargs(app^#) = {}, Uargs(c_3) = {},
                 Uargs(c_4) = {}, Uargs(low^#) = {}, Uargs(c_6) = {},
                 Uargs(iflow^#) = {}, Uargs(c_7) = {}, Uargs(c_8) = {},
                 Uargs(high^#) = {}, Uargs(c_10) = {}, Uargs(ifhigh^#) = {},
                 Uargs(c_11) = {}, Uargs(c_12) = {}, Uargs(quicksort^#) = {},
                 Uargs(c_14) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                le(x1, x2) = [0] x1 + [0] x2 + [0]
                0() = [0]
                true() = [0]
                s(x1) = [0] x1 + [0]
                false() = [0]
                app(x1, x2) = [0] x1 + [0] x2 + [0]
                nil() = [0]
                cons(x1, x2) = [0] x1 + [0] x2 + [0]
                low(x1, x2) = [0] x1 + [0] x2 + [0]
                iflow(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                high(x1, x2) = [0] x1 + [0] x2 + [0]
                ifhigh(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                quicksort(x1) = [0] x1 + [0]
                le^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_0() = [0]
                c_1() = [0]
                c_2(x1) = [0] x1 + [0]
                app^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_3(x1) = [0] x1 + [0]
                c_4(x1, x2) = [0] x1 + [0] x2 + [0]
                low^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_5() = [0]
                c_6(x1) = [0] x1 + [0]
                iflow^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_7(x1, x2) = [0] x1 + [0] x2 + [0]
                c_8(x1) = [0] x1 + [0]
                high^#(x1, x2) = [0] x1 + [0] x2 + [0]
                c_9() = [0]
                c_10(x1) = [0] x1 + [0]
                ifhigh^#(x1, x2, x3) = [0] x1 + [0] x2 + [0] x3 + [0]
                c_11(x1) = [0] x1 + [0]
                c_12(x1, x2) = [0] x1 + [0] x2 + [0]
                quicksort^#(x1) = [0] x1 + [0]
                c_13() = [0]
                c_14(x1) = [0] x1 + [0]
             
             We apply the sub-processor on the resulting sub-problem:
             
             'matrix-interpretation of dimension 1'
             --------------------------------------
             Answer:           YES(?,O(1))
             Input Problem:    DP runtime-complexity with respect to
               Strict Rules: {quicksort^#(nil()) -> c_13()}
               Weak Rules: {}
             
             Proof Output:    
               The following argument positions are usable:
                 Uargs(quicksort^#) = {}
               We have the following constructor-restricted matrix interpretation:
               Interpretation Functions:
                nil() = [7]
                quicksort^#(x1) = [1] x1 + [7]
                c_13() = [1]
           
           * Path {15}: inherited
             --------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{4}: NA
             ------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
           
           * Path {15}->{5}: inherited
             -------------------------
             
             This path is subsumed by the proof of path {15}->{5}->{4}.
           
           * Path {15}->{5}->{4}: NA
             -----------------------
             
             The usable rules for this path are:
             
               {  low(N, nil()) -> nil()
                , low(N, cons(M, L)) -> iflow(le(M, N), N, cons(M, L))
                , high(N, nil()) -> nil()
                , high(N, cons(M, L)) -> ifhigh(le(M, N), N, cons(M, L))
                , quicksort(nil()) -> nil()
                , quicksort(cons(N, L)) ->
                  app(quicksort(low(N, L)), cons(N, quicksort(high(N, L))))
                , le(0(), Y) -> true()
                , le(s(X), 0()) -> false()
                , le(s(X), s(Y)) -> le(X, Y)
                , app(nil(), Y) -> Y
                , app(cons(N, L), Y) -> cons(N, app(L, Y))
                , iflow(true(), N, cons(M, L)) -> cons(M, low(N, L))
                , iflow(false(), N, cons(M, L)) -> low(N, L)
                , ifhigh(true(), N, cons(M, L)) -> high(N, L)
                , ifhigh(false(), N, cons(M, L)) -> cons(M, high(N, L))}
             
             The weight gap principle does not apply:
               The input cannot be shown compatible
             Complexity induced by the adequate RMI: MAYBE
             
             We have not generated a proof for the resulting sub-problem.
    
    3) 'matrix-interpretation of dimension 1' failed due to the following reason:
         The input cannot be shown compatible
    
    4) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason:
         match-boundness of the problem could not be verified.
    
    5) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason:
         match-boundness of the problem could not be verified.