MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { isEmpty(nil()) -> true() , isEmpty(cons(x, xs)) -> false() , last(cons(x, nil())) -> x , last(cons(x, cons(y, ys))) -> last(cons(y, ys)) , dropLast(nil()) -> nil() , dropLast(cons(x, nil())) -> nil() , dropLast(cons(x, cons(y, ys))) -> cons(x, dropLast(cons(y, ys))) , append(nil(), ys) -> ys , append(cons(x, xs), ys) -> cons(x, append(xs, ys)) , reverse(xs) -> rev(xs, nil()) , rev(xs, ys) -> if(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys) , if(true(), xs, ys, zs) -> zs , if(false(), xs, ys, zs) -> rev(xs, ys) } 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) '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) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { isEmpty^#(nil()) -> c_1() , isEmpty^#(cons(x, xs)) -> c_2() , last^#(cons(x, nil())) -> c_3(x) , last^#(cons(x, cons(y, ys))) -> c_4(last^#(cons(y, ys))) , dropLast^#(nil()) -> c_5() , dropLast^#(cons(x, nil())) -> c_6() , dropLast^#(cons(x, cons(y, ys))) -> c_7(x, dropLast^#(cons(y, ys))) , append^#(nil(), ys) -> c_8(ys) , append^#(cons(x, xs), ys) -> c_9(x, append^#(xs, ys)) , reverse^#(xs) -> c_10(rev^#(xs, nil())) , rev^#(xs, ys) -> c_11(if^#(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys)) , if^#(true(), xs, ys, zs) -> c_12(zs) , if^#(false(), xs, ys, zs) -> c_13(rev^#(xs, ys)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { isEmpty^#(nil()) -> c_1() , isEmpty^#(cons(x, xs)) -> c_2() , last^#(cons(x, nil())) -> c_3(x) , last^#(cons(x, cons(y, ys))) -> c_4(last^#(cons(y, ys))) , dropLast^#(nil()) -> c_5() , dropLast^#(cons(x, nil())) -> c_6() , dropLast^#(cons(x, cons(y, ys))) -> c_7(x, dropLast^#(cons(y, ys))) , append^#(nil(), ys) -> c_8(ys) , append^#(cons(x, xs), ys) -> c_9(x, append^#(xs, ys)) , reverse^#(xs) -> c_10(rev^#(xs, nil())) , rev^#(xs, ys) -> c_11(if^#(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys)) , if^#(true(), xs, ys, zs) -> c_12(zs) , if^#(false(), xs, ys, zs) -> c_13(rev^#(xs, ys)) } Strict Trs: { isEmpty(nil()) -> true() , isEmpty(cons(x, xs)) -> false() , last(cons(x, nil())) -> x , last(cons(x, cons(y, ys))) -> last(cons(y, ys)) , dropLast(nil()) -> nil() , dropLast(cons(x, nil())) -> nil() , dropLast(cons(x, cons(y, ys))) -> cons(x, dropLast(cons(y, ys))) , append(nil(), ys) -> ys , append(cons(x, xs), ys) -> cons(x, append(xs, ys)) , reverse(xs) -> rev(xs, nil()) , rev(xs, ys) -> if(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys) , if(true(), xs, ys, zs) -> zs , if(false(), xs, ys, zs) -> rev(xs, ys) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {1,2,5,6} by applications of Pre({1,2,5,6}) = {3,7,8,9,12}. Here rules are labeled as follows: DPs: { 1: isEmpty^#(nil()) -> c_1() , 2: isEmpty^#(cons(x, xs)) -> c_2() , 3: last^#(cons(x, nil())) -> c_3(x) , 4: last^#(cons(x, cons(y, ys))) -> c_4(last^#(cons(y, ys))) , 5: dropLast^#(nil()) -> c_5() , 6: dropLast^#(cons(x, nil())) -> c_6() , 7: dropLast^#(cons(x, cons(y, ys))) -> c_7(x, dropLast^#(cons(y, ys))) , 8: append^#(nil(), ys) -> c_8(ys) , 9: append^#(cons(x, xs), ys) -> c_9(x, append^#(xs, ys)) , 10: reverse^#(xs) -> c_10(rev^#(xs, nil())) , 11: rev^#(xs, ys) -> c_11(if^#(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys)) , 12: if^#(true(), xs, ys, zs) -> c_12(zs) , 13: if^#(false(), xs, ys, zs) -> c_13(rev^#(xs, ys)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { last^#(cons(x, nil())) -> c_3(x) , last^#(cons(x, cons(y, ys))) -> c_4(last^#(cons(y, ys))) , dropLast^#(cons(x, cons(y, ys))) -> c_7(x, dropLast^#(cons(y, ys))) , append^#(nil(), ys) -> c_8(ys) , append^#(cons(x, xs), ys) -> c_9(x, append^#(xs, ys)) , reverse^#(xs) -> c_10(rev^#(xs, nil())) , rev^#(xs, ys) -> c_11(if^#(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys)) , if^#(true(), xs, ys, zs) -> c_12(zs) , if^#(false(), xs, ys, zs) -> c_13(rev^#(xs, ys)) } Strict Trs: { isEmpty(nil()) -> true() , isEmpty(cons(x, xs)) -> false() , last(cons(x, nil())) -> x , last(cons(x, cons(y, ys))) -> last(cons(y, ys)) , dropLast(nil()) -> nil() , dropLast(cons(x, nil())) -> nil() , dropLast(cons(x, cons(y, ys))) -> cons(x, dropLast(cons(y, ys))) , append(nil(), ys) -> ys , append(cons(x, xs), ys) -> cons(x, append(xs, ys)) , reverse(xs) -> rev(xs, nil()) , rev(xs, ys) -> if(isEmpty(xs), dropLast(xs), append(ys, last(xs)), ys) , if(true(), xs, ys, zs) -> zs , if(false(), xs, ys, zs) -> rev(xs, ys) } Weak DPs: { isEmpty^#(nil()) -> c_1() , isEmpty^#(cons(x, xs)) -> c_2() , dropLast^#(nil()) -> c_5() , dropLast^#(cons(x, nil())) -> c_6() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..