MAYBE

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict Trs:
  { le(0(), y) -> true()
  , le(s(x), 0()) -> false()
  , le(s(x), s(y)) -> le(x, y)
  , app(nil(), y) -> y
  , app(add(n, x), y) -> add(n, app(x, y))
  , low(n, nil()) -> nil()
  , low(n, add(m, x)) -> if_low(le(m, n), n, add(m, x))
  , if_low(true(), n, add(m, x)) -> add(m, low(n, x))
  , if_low(false(), n, add(m, x)) -> low(n, x)
  , high(n, nil()) -> nil()
  , high(n, add(m, x)) -> if_high(le(m, n), n, add(m, x))
  , if_high(true(), n, add(m, x)) -> high(n, x)
  , if_high(false(), n, add(m, x)) -> add(m, high(n, x))
  , head(add(n, x)) -> n
  , tail(add(n, x)) -> x
  , isempty(nil()) -> true()
  , isempty(add(n, x)) -> false()
  , quicksort(x) ->
    if_qs(isempty(x),
          low(head(x), tail(x)),
          head(x),
          high(head(x), tail(x)))
  , if_qs(true(), x, n, y) -> nil()
  , if_qs(false(), x, n, y) ->
    app(quicksort(x), add(n, quicksort(y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We add following dependency tuples:

Strict DPs:
  { le^#(0(), y) -> c_1()
  , le^#(s(x), 0()) -> c_2()
  , le^#(s(x), s(y)) -> c_3(le^#(x, y))
  , app^#(nil(), y) -> c_4()
  , app^#(add(n, x), y) -> c_5(app^#(x, y))
  , low^#(n, nil()) -> c_6()
  , low^#(n, add(m, x)) ->
    c_7(if_low^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_low^#(true(), n, add(m, x)) -> c_8(low^#(n, x))
  , if_low^#(false(), n, add(m, x)) -> c_9(low^#(n, x))
  , high^#(n, nil()) -> c_10()
  , high^#(n, add(m, x)) ->
    c_11(if_high^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x))
  , if_high^#(false(), n, add(m, x)) -> c_13(high^#(n, x))
  , head^#(add(n, x)) -> c_14()
  , tail^#(add(n, x)) -> c_15()
  , isempty^#(nil()) -> c_16()
  , isempty^#(add(n, x)) -> c_17()
  , quicksort^#(x) ->
    c_18(if_qs^#(isempty(x),
                 low(head(x), tail(x)),
                 head(x),
                 high(head(x), tail(x))),
         isempty^#(x),
         low^#(head(x), tail(x)),
         head^#(x),
         tail^#(x),
         head^#(x),
         high^#(head(x), tail(x)),
         head^#(x),
         tail^#(x))
  , if_qs^#(true(), x, n, y) -> c_19()
  , if_qs^#(false(), x, n, y) ->
    c_20(app^#(quicksort(x), add(n, quicksort(y))),
         quicksort^#(x),
         quicksort^#(y)) }

and mark the set of starting terms.

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { le^#(0(), y) -> c_1()
  , le^#(s(x), 0()) -> c_2()
  , le^#(s(x), s(y)) -> c_3(le^#(x, y))
  , app^#(nil(), y) -> c_4()
  , app^#(add(n, x), y) -> c_5(app^#(x, y))
  , low^#(n, nil()) -> c_6()
  , low^#(n, add(m, x)) ->
    c_7(if_low^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_low^#(true(), n, add(m, x)) -> c_8(low^#(n, x))
  , if_low^#(false(), n, add(m, x)) -> c_9(low^#(n, x))
  , high^#(n, nil()) -> c_10()
  , high^#(n, add(m, x)) ->
    c_11(if_high^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x))
  , if_high^#(false(), n, add(m, x)) -> c_13(high^#(n, x))
  , head^#(add(n, x)) -> c_14()
  , tail^#(add(n, x)) -> c_15()
  , isempty^#(nil()) -> c_16()
  , isempty^#(add(n, x)) -> c_17()
  , quicksort^#(x) ->
    c_18(if_qs^#(isempty(x),
                 low(head(x), tail(x)),
                 head(x),
                 high(head(x), tail(x))),
         isempty^#(x),
         low^#(head(x), tail(x)),
         head^#(x),
         tail^#(x),
         head^#(x),
         high^#(head(x), tail(x)),
         head^#(x),
         tail^#(x))
  , if_qs^#(true(), x, n, y) -> c_19()
  , if_qs^#(false(), x, n, y) ->
    c_20(app^#(quicksort(x), add(n, quicksort(y))),
         quicksort^#(x),
         quicksort^#(y)) }
Weak Trs:
  { le(0(), y) -> true()
  , le(s(x), 0()) -> false()
  , le(s(x), s(y)) -> le(x, y)
  , app(nil(), y) -> y
  , app(add(n, x), y) -> add(n, app(x, y))
  , low(n, nil()) -> nil()
  , low(n, add(m, x)) -> if_low(le(m, n), n, add(m, x))
  , if_low(true(), n, add(m, x)) -> add(m, low(n, x))
  , if_low(false(), n, add(m, x)) -> low(n, x)
  , high(n, nil()) -> nil()
  , high(n, add(m, x)) -> if_high(le(m, n), n, add(m, x))
  , if_high(true(), n, add(m, x)) -> high(n, x)
  , if_high(false(), n, add(m, x)) -> add(m, high(n, x))
  , head(add(n, x)) -> n
  , tail(add(n, x)) -> x
  , isempty(nil()) -> true()
  , isempty(add(n, x)) -> false()
  , quicksort(x) ->
    if_qs(isempty(x),
          low(head(x), tail(x)),
          head(x),
          high(head(x), tail(x)))
  , if_qs(true(), x, n, y) -> nil()
  , if_qs(false(), x, n, y) ->
    app(quicksort(x), add(n, quicksort(y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We estimate the number of application of
{1,2,4,6,10,14,15,16,17,19} by applications of
Pre({1,2,4,6,10,14,15,16,17,19}) = {3,5,7,8,9,11,12,13,18,20}. Here
rules are labeled as follows:

  DPs:
    { 1: le^#(0(), y) -> c_1()
    , 2: le^#(s(x), 0()) -> c_2()
    , 3: le^#(s(x), s(y)) -> c_3(le^#(x, y))
    , 4: app^#(nil(), y) -> c_4()
    , 5: app^#(add(n, x), y) -> c_5(app^#(x, y))
    , 6: low^#(n, nil()) -> c_6()
    , 7: low^#(n, add(m, x)) ->
         c_7(if_low^#(le(m, n), n, add(m, x)), le^#(m, n))
    , 8: if_low^#(true(), n, add(m, x)) -> c_8(low^#(n, x))
    , 9: if_low^#(false(), n, add(m, x)) -> c_9(low^#(n, x))
    , 10: high^#(n, nil()) -> c_10()
    , 11: high^#(n, add(m, x)) ->
          c_11(if_high^#(le(m, n), n, add(m, x)), le^#(m, n))
    , 12: if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x))
    , 13: if_high^#(false(), n, add(m, x)) -> c_13(high^#(n, x))
    , 14: head^#(add(n, x)) -> c_14()
    , 15: tail^#(add(n, x)) -> c_15()
    , 16: isempty^#(nil()) -> c_16()
    , 17: isempty^#(add(n, x)) -> c_17()
    , 18: quicksort^#(x) ->
          c_18(if_qs^#(isempty(x),
                       low(head(x), tail(x)),
                       head(x),
                       high(head(x), tail(x))),
               isempty^#(x),
               low^#(head(x), tail(x)),
               head^#(x),
               tail^#(x),
               head^#(x),
               high^#(head(x), tail(x)),
               head^#(x),
               tail^#(x))
    , 19: if_qs^#(true(), x, n, y) -> c_19()
    , 20: if_qs^#(false(), x, n, y) ->
          c_20(app^#(quicksort(x), add(n, quicksort(y))),
               quicksort^#(x),
               quicksort^#(y)) }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { le^#(s(x), s(y)) -> c_3(le^#(x, y))
  , app^#(add(n, x), y) -> c_5(app^#(x, y))
  , low^#(n, add(m, x)) ->
    c_7(if_low^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_low^#(true(), n, add(m, x)) -> c_8(low^#(n, x))
  , if_low^#(false(), n, add(m, x)) -> c_9(low^#(n, x))
  , high^#(n, add(m, x)) ->
    c_11(if_high^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x))
  , if_high^#(false(), n, add(m, x)) -> c_13(high^#(n, x))
  , quicksort^#(x) ->
    c_18(if_qs^#(isempty(x),
                 low(head(x), tail(x)),
                 head(x),
                 high(head(x), tail(x))),
         isempty^#(x),
         low^#(head(x), tail(x)),
         head^#(x),
         tail^#(x),
         head^#(x),
         high^#(head(x), tail(x)),
         head^#(x),
         tail^#(x))
  , if_qs^#(false(), x, n, y) ->
    c_20(app^#(quicksort(x), add(n, quicksort(y))),
         quicksort^#(x),
         quicksort^#(y)) }
Weak DPs:
  { le^#(0(), y) -> c_1()
  , le^#(s(x), 0()) -> c_2()
  , app^#(nil(), y) -> c_4()
  , low^#(n, nil()) -> c_6()
  , high^#(n, nil()) -> c_10()
  , head^#(add(n, x)) -> c_14()
  , tail^#(add(n, x)) -> c_15()
  , isempty^#(nil()) -> c_16()
  , isempty^#(add(n, x)) -> c_17()
  , if_qs^#(true(), x, n, y) -> c_19() }
Weak Trs:
  { le(0(), y) -> true()
  , le(s(x), 0()) -> false()
  , le(s(x), s(y)) -> le(x, y)
  , app(nil(), y) -> y
  , app(add(n, x), y) -> add(n, app(x, y))
  , low(n, nil()) -> nil()
  , low(n, add(m, x)) -> if_low(le(m, n), n, add(m, x))
  , if_low(true(), n, add(m, x)) -> add(m, low(n, x))
  , if_low(false(), n, add(m, x)) -> low(n, x)
  , high(n, nil()) -> nil()
  , high(n, add(m, x)) -> if_high(le(m, n), n, add(m, x))
  , if_high(true(), n, add(m, x)) -> high(n, x)
  , if_high(false(), n, add(m, x)) -> add(m, high(n, x))
  , head(add(n, x)) -> n
  , tail(add(n, x)) -> x
  , isempty(nil()) -> true()
  , isempty(add(n, x)) -> false()
  , quicksort(x) ->
    if_qs(isempty(x),
          low(head(x), tail(x)),
          head(x),
          high(head(x), tail(x)))
  , if_qs(true(), x, n, y) -> nil()
  , if_qs(false(), x, n, y) ->
    app(quicksort(x), add(n, quicksort(y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The following weak DPs constitute a sub-graph of the DG that is
closed under successors. The DPs are removed.

{ le^#(0(), y) -> c_1()
, le^#(s(x), 0()) -> c_2()
, app^#(nil(), y) -> c_4()
, low^#(n, nil()) -> c_6()
, high^#(n, nil()) -> c_10()
, head^#(add(n, x)) -> c_14()
, tail^#(add(n, x)) -> c_15()
, isempty^#(nil()) -> c_16()
, isempty^#(add(n, x)) -> c_17()
, if_qs^#(true(), x, n, y) -> c_19() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { le^#(s(x), s(y)) -> c_3(le^#(x, y))
  , app^#(add(n, x), y) -> c_5(app^#(x, y))
  , low^#(n, add(m, x)) ->
    c_7(if_low^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_low^#(true(), n, add(m, x)) -> c_8(low^#(n, x))
  , if_low^#(false(), n, add(m, x)) -> c_9(low^#(n, x))
  , high^#(n, add(m, x)) ->
    c_11(if_high^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x))
  , if_high^#(false(), n, add(m, x)) -> c_13(high^#(n, x))
  , quicksort^#(x) ->
    c_18(if_qs^#(isempty(x),
                 low(head(x), tail(x)),
                 head(x),
                 high(head(x), tail(x))),
         isempty^#(x),
         low^#(head(x), tail(x)),
         head^#(x),
         tail^#(x),
         head^#(x),
         high^#(head(x), tail(x)),
         head^#(x),
         tail^#(x))
  , if_qs^#(false(), x, n, y) ->
    c_20(app^#(quicksort(x), add(n, quicksort(y))),
         quicksort^#(x),
         quicksort^#(y)) }
Weak Trs:
  { le(0(), y) -> true()
  , le(s(x), 0()) -> false()
  , le(s(x), s(y)) -> le(x, y)
  , app(nil(), y) -> y
  , app(add(n, x), y) -> add(n, app(x, y))
  , low(n, nil()) -> nil()
  , low(n, add(m, x)) -> if_low(le(m, n), n, add(m, x))
  , if_low(true(), n, add(m, x)) -> add(m, low(n, x))
  , if_low(false(), n, add(m, x)) -> low(n, x)
  , high(n, nil()) -> nil()
  , high(n, add(m, x)) -> if_high(le(m, n), n, add(m, x))
  , if_high(true(), n, add(m, x)) -> high(n, x)
  , if_high(false(), n, add(m, x)) -> add(m, high(n, x))
  , head(add(n, x)) -> n
  , tail(add(n, x)) -> x
  , isempty(nil()) -> true()
  , isempty(add(n, x)) -> false()
  , quicksort(x) ->
    if_qs(isempty(x),
          low(head(x), tail(x)),
          head(x),
          high(head(x), tail(x)))
  , if_qs(true(), x, n, y) -> nil()
  , if_qs(false(), x, n, y) ->
    app(quicksort(x), add(n, quicksort(y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

Due to missing edges in the dependency-graph, the right-hand sides
of following rules could be simplified:

  { quicksort^#(x) ->
    c_18(if_qs^#(isempty(x),
                 low(head(x), tail(x)),
                 head(x),
                 high(head(x), tail(x))),
         isempty^#(x),
         low^#(head(x), tail(x)),
         head^#(x),
         tail^#(x),
         head^#(x),
         high^#(head(x), tail(x)),
         head^#(x),
         tail^#(x)) }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { le^#(s(x), s(y)) -> c_1(le^#(x, y))
  , app^#(add(n, x), y) -> c_2(app^#(x, y))
  , low^#(n, add(m, x)) ->
    c_3(if_low^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_low^#(true(), n, add(m, x)) -> c_4(low^#(n, x))
  , if_low^#(false(), n, add(m, x)) -> c_5(low^#(n, x))
  , high^#(n, add(m, x)) ->
    c_6(if_high^#(le(m, n), n, add(m, x)), le^#(m, n))
  , if_high^#(true(), n, add(m, x)) -> c_7(high^#(n, x))
  , if_high^#(false(), n, add(m, x)) -> c_8(high^#(n, x))
  , quicksort^#(x) ->
    c_9(if_qs^#(isempty(x),
                low(head(x), tail(x)),
                head(x),
                high(head(x), tail(x))),
        low^#(head(x), tail(x)),
        high^#(head(x), tail(x)))
  , if_qs^#(false(), x, n, y) ->
    c_10(app^#(quicksort(x), add(n, quicksort(y))),
         quicksort^#(x),
         quicksort^#(y)) }
Weak Trs:
  { le(0(), y) -> true()
  , le(s(x), 0()) -> false()
  , le(s(x), s(y)) -> le(x, y)
  , app(nil(), y) -> y
  , app(add(n, x), y) -> add(n, app(x, y))
  , low(n, nil()) -> nil()
  , low(n, add(m, x)) -> if_low(le(m, n), n, add(m, x))
  , if_low(true(), n, add(m, x)) -> add(m, low(n, x))
  , if_low(false(), n, add(m, x)) -> low(n, x)
  , high(n, nil()) -> nil()
  , high(n, add(m, x)) -> if_high(le(m, n), n, add(m, x))
  , if_high(true(), n, add(m, x)) -> high(n, x)
  , if_high(false(), n, add(m, x)) -> add(m, high(n, x))
  , head(add(n, x)) -> n
  , tail(add(n, x)) -> x
  , isempty(nil()) -> true()
  , isempty(add(n, x)) -> false()
  , quicksort(x) ->
    if_qs(isempty(x),
          low(head(x), tail(x)),
          head(x),
          high(head(x), tail(x)))
  , if_qs(true(), x, n, y) -> nil()
  , if_qs(false(), x, n, y) ->
    app(quicksort(x), add(n, quicksort(y))) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

None of the processors succeeded.

Details of failed attempt(s):
-----------------------------
1) 'matrices' failed due to the following reason:
   
   None of the processors succeeded.
   
   Details of failed attempt(s):
   -----------------------------
   1) 'matrix interpretation of dimension 4' failed due to the
      following reason:
      
      Following exception was raised:
        stack overflow
   
   2) 'matrix interpretation of dimension 3' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   3) 'matrix interpretation of dimension 3' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   4) 'matrix interpretation of dimension 2' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   5) 'matrix interpretation of dimension 2' failed due to the
      following reason:
      
      The input cannot be shown compatible
   
   6) 'matrix interpretation of dimension 1' failed due to the
      following reason:
      
      The input cannot be shown compatible
   

2) 'empty' failed due to the following reason:
   
   Empty strict component of the problem is NOT empty.


Arrrr..