MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { eq(0(), 0()) -> true() , eq(0(), s(m)) -> false() , eq(s(n), 0()) -> false() , eq(s(n), s(m)) -> eq(n, m) , le(0(), m) -> true() , le(s(n), 0()) -> false() , le(s(n), s(m)) -> le(n, m) , min(cons(n, cons(m, x))) -> if_min(le(n, m), cons(n, cons(m, x))) , min(cons(x, nil())) -> x , if_min(true(), cons(n, cons(m, x))) -> min(cons(n, x)) , if_min(false(), cons(n, cons(m, x))) -> min(cons(m, x)) , replace(n, m, cons(k, x)) -> if_replace(eq(n, k), n, m, cons(k, x)) , replace(n, m, nil()) -> nil() , if_replace(true(), n, m, cons(k, x)) -> cons(m, x) , if_replace(false(), n, m, cons(k, x)) -> cons(k, replace(n, m, x)) , empty(cons(n, x)) -> false() , empty(nil()) -> true() , head(cons(n, x)) -> n , tail(cons(n, x)) -> x , tail(nil()) -> nil() , sort(x) -> sortIter(x, nil()) , sortIter(x, y) -> if(empty(x), x, y, append(y, cons(min(x), nil()))) , if(true(), x, y, z) -> y , if(false(), x, y, z) -> sortIter(replace(min(x), head(x), tail(x)), z) } 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) '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) '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) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(m)) -> c_2() , eq^#(s(n), 0()) -> c_3() , eq^#(s(n), s(m)) -> c_4(eq^#(n, m)) , le^#(0(), m) -> c_5() , le^#(s(n), 0()) -> c_6() , le^#(s(n), s(m)) -> c_7(le^#(n, m)) , min^#(cons(n, cons(m, x))) -> c_8(if_min^#(le(n, m), cons(n, cons(m, x)))) , min^#(cons(x, nil())) -> c_9(x) , if_min^#(true(), cons(n, cons(m, x))) -> c_10(min^#(cons(n, x))) , if_min^#(false(), cons(n, cons(m, x))) -> c_11(min^#(cons(m, x))) , replace^#(n, m, cons(k, x)) -> c_12(if_replace^#(eq(n, k), n, m, cons(k, x))) , replace^#(n, m, nil()) -> c_13() , if_replace^#(true(), n, m, cons(k, x)) -> c_14(m, x) , if_replace^#(false(), n, m, cons(k, x)) -> c_15(k, replace^#(n, m, x)) , empty^#(cons(n, x)) -> c_16() , empty^#(nil()) -> c_17() , head^#(cons(n, x)) -> c_18(n) , tail^#(cons(n, x)) -> c_19(x) , tail^#(nil()) -> c_20() , sort^#(x) -> c_21(sortIter^#(x, nil())) , sortIter^#(x, y) -> c_22(if^#(empty(x), x, y, append(y, cons(min(x), nil())))) , if^#(true(), x, y, z) -> c_23(y) , if^#(false(), x, y, z) -> c_24(sortIter^#(replace(min(x), head(x), tail(x)), z)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(m)) -> c_2() , eq^#(s(n), 0()) -> c_3() , eq^#(s(n), s(m)) -> c_4(eq^#(n, m)) , le^#(0(), m) -> c_5() , le^#(s(n), 0()) -> c_6() , le^#(s(n), s(m)) -> c_7(le^#(n, m)) , min^#(cons(n, cons(m, x))) -> c_8(if_min^#(le(n, m), cons(n, cons(m, x)))) , min^#(cons(x, nil())) -> c_9(x) , if_min^#(true(), cons(n, cons(m, x))) -> c_10(min^#(cons(n, x))) , if_min^#(false(), cons(n, cons(m, x))) -> c_11(min^#(cons(m, x))) , replace^#(n, m, cons(k, x)) -> c_12(if_replace^#(eq(n, k), n, m, cons(k, x))) , replace^#(n, m, nil()) -> c_13() , if_replace^#(true(), n, m, cons(k, x)) -> c_14(m, x) , if_replace^#(false(), n, m, cons(k, x)) -> c_15(k, replace^#(n, m, x)) , empty^#(cons(n, x)) -> c_16() , empty^#(nil()) -> c_17() , head^#(cons(n, x)) -> c_18(n) , tail^#(cons(n, x)) -> c_19(x) , tail^#(nil()) -> c_20() , sort^#(x) -> c_21(sortIter^#(x, nil())) , sortIter^#(x, y) -> c_22(if^#(empty(x), x, y, append(y, cons(min(x), nil())))) , if^#(true(), x, y, z) -> c_23(y) , if^#(false(), x, y, z) -> c_24(sortIter^#(replace(min(x), head(x), tail(x)), z)) } Strict Trs: { eq(0(), 0()) -> true() , eq(0(), s(m)) -> false() , eq(s(n), 0()) -> false() , eq(s(n), s(m)) -> eq(n, m) , le(0(), m) -> true() , le(s(n), 0()) -> false() , le(s(n), s(m)) -> le(n, m) , min(cons(n, cons(m, x))) -> if_min(le(n, m), cons(n, cons(m, x))) , min(cons(x, nil())) -> x , if_min(true(), cons(n, cons(m, x))) -> min(cons(n, x)) , if_min(false(), cons(n, cons(m, x))) -> min(cons(m, x)) , replace(n, m, cons(k, x)) -> if_replace(eq(n, k), n, m, cons(k, x)) , replace(n, m, nil()) -> nil() , if_replace(true(), n, m, cons(k, x)) -> cons(m, x) , if_replace(false(), n, m, cons(k, x)) -> cons(k, replace(n, m, x)) , empty(cons(n, x)) -> false() , empty(nil()) -> true() , head(cons(n, x)) -> n , tail(cons(n, x)) -> x , tail(nil()) -> nil() , sort(x) -> sortIter(x, nil()) , sortIter(x, y) -> if(empty(x), x, y, append(y, cons(min(x), nil()))) , if(true(), x, y, z) -> y , if(false(), x, y, z) -> sortIter(replace(min(x), head(x), tail(x)), z) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,5,6,13,16,17,20} by applications of Pre({1,2,3,5,6,13,16,17,20}) = {4,7,9,14,15,18,19,23}. Here rules are labeled as follows: DPs: { 1: eq^#(0(), 0()) -> c_1() , 2: eq^#(0(), s(m)) -> c_2() , 3: eq^#(s(n), 0()) -> c_3() , 4: eq^#(s(n), s(m)) -> c_4(eq^#(n, m)) , 5: le^#(0(), m) -> c_5() , 6: le^#(s(n), 0()) -> c_6() , 7: le^#(s(n), s(m)) -> c_7(le^#(n, m)) , 8: min^#(cons(n, cons(m, x))) -> c_8(if_min^#(le(n, m), cons(n, cons(m, x)))) , 9: min^#(cons(x, nil())) -> c_9(x) , 10: if_min^#(true(), cons(n, cons(m, x))) -> c_10(min^#(cons(n, x))) , 11: if_min^#(false(), cons(n, cons(m, x))) -> c_11(min^#(cons(m, x))) , 12: replace^#(n, m, cons(k, x)) -> c_12(if_replace^#(eq(n, k), n, m, cons(k, x))) , 13: replace^#(n, m, nil()) -> c_13() , 14: if_replace^#(true(), n, m, cons(k, x)) -> c_14(m, x) , 15: if_replace^#(false(), n, m, cons(k, x)) -> c_15(k, replace^#(n, m, x)) , 16: empty^#(cons(n, x)) -> c_16() , 17: empty^#(nil()) -> c_17() , 18: head^#(cons(n, x)) -> c_18(n) , 19: tail^#(cons(n, x)) -> c_19(x) , 20: tail^#(nil()) -> c_20() , 21: sort^#(x) -> c_21(sortIter^#(x, nil())) , 22: sortIter^#(x, y) -> c_22(if^#(empty(x), x, y, append(y, cons(min(x), nil())))) , 23: if^#(true(), x, y, z) -> c_23(y) , 24: if^#(false(), x, y, z) -> c_24(sortIter^#(replace(min(x), head(x), tail(x)), z)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(n), s(m)) -> c_4(eq^#(n, m)) , le^#(s(n), s(m)) -> c_7(le^#(n, m)) , min^#(cons(n, cons(m, x))) -> c_8(if_min^#(le(n, m), cons(n, cons(m, x)))) , min^#(cons(x, nil())) -> c_9(x) , if_min^#(true(), cons(n, cons(m, x))) -> c_10(min^#(cons(n, x))) , if_min^#(false(), cons(n, cons(m, x))) -> c_11(min^#(cons(m, x))) , replace^#(n, m, cons(k, x)) -> c_12(if_replace^#(eq(n, k), n, m, cons(k, x))) , if_replace^#(true(), n, m, cons(k, x)) -> c_14(m, x) , if_replace^#(false(), n, m, cons(k, x)) -> c_15(k, replace^#(n, m, x)) , head^#(cons(n, x)) -> c_18(n) , tail^#(cons(n, x)) -> c_19(x) , sort^#(x) -> c_21(sortIter^#(x, nil())) , sortIter^#(x, y) -> c_22(if^#(empty(x), x, y, append(y, cons(min(x), nil())))) , if^#(true(), x, y, z) -> c_23(y) , if^#(false(), x, y, z) -> c_24(sortIter^#(replace(min(x), head(x), tail(x)), z)) } Strict Trs: { eq(0(), 0()) -> true() , eq(0(), s(m)) -> false() , eq(s(n), 0()) -> false() , eq(s(n), s(m)) -> eq(n, m) , le(0(), m) -> true() , le(s(n), 0()) -> false() , le(s(n), s(m)) -> le(n, m) , min(cons(n, cons(m, x))) -> if_min(le(n, m), cons(n, cons(m, x))) , min(cons(x, nil())) -> x , if_min(true(), cons(n, cons(m, x))) -> min(cons(n, x)) , if_min(false(), cons(n, cons(m, x))) -> min(cons(m, x)) , replace(n, m, cons(k, x)) -> if_replace(eq(n, k), n, m, cons(k, x)) , replace(n, m, nil()) -> nil() , if_replace(true(), n, m, cons(k, x)) -> cons(m, x) , if_replace(false(), n, m, cons(k, x)) -> cons(k, replace(n, m, x)) , empty(cons(n, x)) -> false() , empty(nil()) -> true() , head(cons(n, x)) -> n , tail(cons(n, x)) -> x , tail(nil()) -> nil() , sort(x) -> sortIter(x, nil()) , sortIter(x, y) -> if(empty(x), x, y, append(y, cons(min(x), nil()))) , if(true(), x, y, z) -> y , if(false(), x, y, z) -> sortIter(replace(min(x), head(x), tail(x)), z) } Weak DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(m)) -> c_2() , eq^#(s(n), 0()) -> c_3() , le^#(0(), m) -> c_5() , le^#(s(n), 0()) -> c_6() , replace^#(n, m, nil()) -> c_13() , empty^#(cons(n, x)) -> c_16() , empty^#(nil()) -> c_17() , tail^#(nil()) -> c_20() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..