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: runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 60.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 30.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'bsearch-popstar (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 2) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 3) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: 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(y) , app^#(add(n, x), y) -> c_5(n, app^#(x, y)) , low^#(n, nil()) -> c_6() , low^#(n, add(m, x)) -> c_7(if_low^#(le(m, n), n, add(m, x))) , if_low^#(true(), n, add(m, x)) -> c_8(m, 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))) , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x)) , if_high^#(false(), n, add(m, x)) -> c_13(m, high^#(n, x)) , head^#(add(n, x)) -> c_14(n) , tail^#(add(n, x)) -> c_15(x) , 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)))) , if_qs^#(true(), x, n, y) -> c_19() , if_qs^#(false(), x, n, y) -> c_20(app^#(quicksort(x), add(n, 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(y) , app^#(add(n, x), y) -> c_5(n, app^#(x, y)) , low^#(n, nil()) -> c_6() , low^#(n, add(m, x)) -> c_7(if_low^#(le(m, n), n, add(m, x))) , if_low^#(true(), n, add(m, x)) -> c_8(m, 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))) , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x)) , if_high^#(false(), n, add(m, x)) -> c_13(m, high^#(n, x)) , head^#(add(n, x)) -> c_14(n) , tail^#(add(n, x)) -> c_15(x) , 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)))) , if_qs^#(true(), x, n, y) -> c_19() , if_qs^#(false(), x, n, y) -> c_20(app^#(quicksort(x), add(n, quicksort(y)))) } 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: runtime complexity Answer: MAYBE We estimate the number of application of {1,2,6,10,16,17,19} by applications of Pre({1,2,6,10,16,17,19}) = {3,4,5,8,9,12,13,14,15,18}. 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(y) , 5: app^#(add(n, x), y) -> c_5(n, 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))) , 8: if_low^#(true(), n, add(m, x)) -> c_8(m, 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))) , 12: if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x)) , 13: if_high^#(false(), n, add(m, x)) -> c_13(m, high^#(n, x)) , 14: head^#(add(n, x)) -> c_14(n) , 15: tail^#(add(n, x)) -> c_15(x) , 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)))) , 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)))) } 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^#(nil(), y) -> c_4(y) , app^#(add(n, x), y) -> c_5(n, app^#(x, y)) , low^#(n, add(m, x)) -> c_7(if_low^#(le(m, n), n, add(m, x))) , if_low^#(true(), n, add(m, x)) -> c_8(m, 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))) , if_high^#(true(), n, add(m, x)) -> c_12(high^#(n, x)) , if_high^#(false(), n, add(m, x)) -> c_13(m, high^#(n, x)) , head^#(add(n, x)) -> c_14(n) , tail^#(add(n, x)) -> c_15(x) , quicksort^#(x) -> c_18(if_qs^#(isempty(x), low(head(x), tail(x)), head(x), high(head(x), tail(x)))) , if_qs^#(false(), x, n, y) -> c_20(app^#(quicksort(x), add(n, quicksort(y)))) } 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))) } Weak DPs: { le^#(0(), y) -> c_1() , le^#(s(x), 0()) -> c_2() , low^#(n, nil()) -> c_6() , high^#(n, nil()) -> c_10() , isempty^#(nil()) -> c_16() , isempty^#(add(n, x)) -> c_17() , if_qs^#(true(), x, n, y) -> c_19() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..