MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , double(s(x)) -> s(s(double(x))) , double(0()) -> 0() , log(s(x)) -> loop(s(x), s(0()), 0()) , log(0()) -> logError() , loop(x, s(y), z) -> if(le(x, s(y)), x, s(y), z) , if(false(), x, y, z) -> loop(x, double(y), s(z)) , if(true(), x, y, z) -> z , maplog(xs) -> mapIter(xs, nil()) , mapIter(xs, ys) -> ifmap(isempty(xs), xs, ys) , ifmap(false(), xs, ys) -> mapIter(droplast(xs), cons(log(last(xs)), ys)) , ifmap(true(), xs, ys) -> ys , isempty(nil()) -> true() , isempty(cons(x, xs)) -> false() , droplast(nil()) -> nil() , droplast(cons(x, nil())) -> nil() , droplast(cons(x, cons(y, xs))) -> cons(x, droplast(cons(y, xs))) , last(nil()) -> error() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , a() -> b() , a() -> c() } 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) '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 2) '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 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^#(s(x), s(y)) -> c_1(le^#(x, y)) , le^#(s(x), 0()) -> c_2() , le^#(0(), y) -> c_3() , double^#(s(x)) -> c_4(double^#(x)) , double^#(0()) -> c_5() , log^#(s(x)) -> c_6(loop^#(s(x), s(0()), 0())) , log^#(0()) -> c_7() , loop^#(x, s(y), z) -> c_8(if^#(le(x, s(y)), x, s(y), z)) , if^#(false(), x, y, z) -> c_9(loop^#(x, double(y), s(z))) , if^#(true(), x, y, z) -> c_10(z) , maplog^#(xs) -> c_11(mapIter^#(xs, nil())) , mapIter^#(xs, ys) -> c_12(ifmap^#(isempty(xs), xs, ys)) , ifmap^#(false(), xs, ys) -> c_13(mapIter^#(droplast(xs), cons(log(last(xs)), ys))) , ifmap^#(true(), xs, ys) -> c_14(ys) , isempty^#(nil()) -> c_15() , isempty^#(cons(x, xs)) -> c_16() , droplast^#(nil()) -> c_17() , droplast^#(cons(x, nil())) -> c_18() , droplast^#(cons(x, cons(y, xs))) -> c_19(x, droplast^#(cons(y, xs))) , last^#(nil()) -> c_20() , last^#(cons(x, nil())) -> c_21(x) , last^#(cons(x, cons(y, xs))) -> c_22(last^#(cons(y, xs))) , a^#() -> c_23() , a^#() -> c_24() } and mark the set of starting terms. 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)) , le^#(s(x), 0()) -> c_2() , le^#(0(), y) -> c_3() , double^#(s(x)) -> c_4(double^#(x)) , double^#(0()) -> c_5() , log^#(s(x)) -> c_6(loop^#(s(x), s(0()), 0())) , log^#(0()) -> c_7() , loop^#(x, s(y), z) -> c_8(if^#(le(x, s(y)), x, s(y), z)) , if^#(false(), x, y, z) -> c_9(loop^#(x, double(y), s(z))) , if^#(true(), x, y, z) -> c_10(z) , maplog^#(xs) -> c_11(mapIter^#(xs, nil())) , mapIter^#(xs, ys) -> c_12(ifmap^#(isempty(xs), xs, ys)) , ifmap^#(false(), xs, ys) -> c_13(mapIter^#(droplast(xs), cons(log(last(xs)), ys))) , ifmap^#(true(), xs, ys) -> c_14(ys) , isempty^#(nil()) -> c_15() , isempty^#(cons(x, xs)) -> c_16() , droplast^#(nil()) -> c_17() , droplast^#(cons(x, nil())) -> c_18() , droplast^#(cons(x, cons(y, xs))) -> c_19(x, droplast^#(cons(y, xs))) , last^#(nil()) -> c_20() , last^#(cons(x, nil())) -> c_21(x) , last^#(cons(x, cons(y, xs))) -> c_22(last^#(cons(y, xs))) , a^#() -> c_23() , a^#() -> c_24() } Strict Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , double(s(x)) -> s(s(double(x))) , double(0()) -> 0() , log(s(x)) -> loop(s(x), s(0()), 0()) , log(0()) -> logError() , loop(x, s(y), z) -> if(le(x, s(y)), x, s(y), z) , if(false(), x, y, z) -> loop(x, double(y), s(z)) , if(true(), x, y, z) -> z , maplog(xs) -> mapIter(xs, nil()) , mapIter(xs, ys) -> ifmap(isempty(xs), xs, ys) , ifmap(false(), xs, ys) -> mapIter(droplast(xs), cons(log(last(xs)), ys)) , ifmap(true(), xs, ys) -> ys , isempty(nil()) -> true() , isempty(cons(x, xs)) -> false() , droplast(nil()) -> nil() , droplast(cons(x, nil())) -> nil() , droplast(cons(x, cons(y, xs))) -> cons(x, droplast(cons(y, xs))) , last(nil()) -> error() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , a() -> b() , a() -> c() } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {2,3,5,7,15,16,17,18,20,23,24} by applications of Pre({2,3,5,7,15,16,17,18,20,23,24}) = {1,4,10,14,19,21}. Here rules are labeled as follows: DPs: { 1: le^#(s(x), s(y)) -> c_1(le^#(x, y)) , 2: le^#(s(x), 0()) -> c_2() , 3: le^#(0(), y) -> c_3() , 4: double^#(s(x)) -> c_4(double^#(x)) , 5: double^#(0()) -> c_5() , 6: log^#(s(x)) -> c_6(loop^#(s(x), s(0()), 0())) , 7: log^#(0()) -> c_7() , 8: loop^#(x, s(y), z) -> c_8(if^#(le(x, s(y)), x, s(y), z)) , 9: if^#(false(), x, y, z) -> c_9(loop^#(x, double(y), s(z))) , 10: if^#(true(), x, y, z) -> c_10(z) , 11: maplog^#(xs) -> c_11(mapIter^#(xs, nil())) , 12: mapIter^#(xs, ys) -> c_12(ifmap^#(isempty(xs), xs, ys)) , 13: ifmap^#(false(), xs, ys) -> c_13(mapIter^#(droplast(xs), cons(log(last(xs)), ys))) , 14: ifmap^#(true(), xs, ys) -> c_14(ys) , 15: isempty^#(nil()) -> c_15() , 16: isempty^#(cons(x, xs)) -> c_16() , 17: droplast^#(nil()) -> c_17() , 18: droplast^#(cons(x, nil())) -> c_18() , 19: droplast^#(cons(x, cons(y, xs))) -> c_19(x, droplast^#(cons(y, xs))) , 20: last^#(nil()) -> c_20() , 21: last^#(cons(x, nil())) -> c_21(x) , 22: last^#(cons(x, cons(y, xs))) -> c_22(last^#(cons(y, xs))) , 23: a^#() -> c_23() , 24: a^#() -> c_24() } 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)) , double^#(s(x)) -> c_4(double^#(x)) , log^#(s(x)) -> c_6(loop^#(s(x), s(0()), 0())) , loop^#(x, s(y), z) -> c_8(if^#(le(x, s(y)), x, s(y), z)) , if^#(false(), x, y, z) -> c_9(loop^#(x, double(y), s(z))) , if^#(true(), x, y, z) -> c_10(z) , maplog^#(xs) -> c_11(mapIter^#(xs, nil())) , mapIter^#(xs, ys) -> c_12(ifmap^#(isempty(xs), xs, ys)) , ifmap^#(false(), xs, ys) -> c_13(mapIter^#(droplast(xs), cons(log(last(xs)), ys))) , ifmap^#(true(), xs, ys) -> c_14(ys) , droplast^#(cons(x, cons(y, xs))) -> c_19(x, droplast^#(cons(y, xs))) , last^#(cons(x, nil())) -> c_21(x) , last^#(cons(x, cons(y, xs))) -> c_22(last^#(cons(y, xs))) } Strict Trs: { le(s(x), s(y)) -> le(x, y) , le(s(x), 0()) -> false() , le(0(), y) -> true() , double(s(x)) -> s(s(double(x))) , double(0()) -> 0() , log(s(x)) -> loop(s(x), s(0()), 0()) , log(0()) -> logError() , loop(x, s(y), z) -> if(le(x, s(y)), x, s(y), z) , if(false(), x, y, z) -> loop(x, double(y), s(z)) , if(true(), x, y, z) -> z , maplog(xs) -> mapIter(xs, nil()) , mapIter(xs, ys) -> ifmap(isempty(xs), xs, ys) , ifmap(false(), xs, ys) -> mapIter(droplast(xs), cons(log(last(xs)), ys)) , ifmap(true(), xs, ys) -> ys , isempty(nil()) -> true() , isempty(cons(x, xs)) -> false() , droplast(nil()) -> nil() , droplast(cons(x, nil())) -> nil() , droplast(cons(x, cons(y, xs))) -> cons(x, droplast(cons(y, xs))) , last(nil()) -> error() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , a() -> b() , a() -> c() } Weak DPs: { le^#(s(x), 0()) -> c_2() , le^#(0(), y) -> c_3() , double^#(0()) -> c_5() , log^#(0()) -> c_7() , isempty^#(nil()) -> c_15() , isempty^#(cons(x, xs)) -> c_16() , droplast^#(nil()) -> c_17() , droplast^#(cons(x, nil())) -> c_18() , last^#(nil()) -> c_20() , a^#() -> c_23() , a^#() -> c_24() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..