MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { last(nil()) -> 0() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , del(x, nil()) -> nil() , del(x, cons(y, xs)) -> if(eq(x, y), x, y, xs) , if(true(), x, y, xs) -> xs , if(false(), x, y, xs) -> cons(y, del(x, xs)) , eq(0(), 0()) -> true() , eq(0(), s(y)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , reverse(nil()) -> nil() , reverse(cons(x, xs)) -> cons(last(cons(x, xs)), reverse(del(last(cons(x, xs)), cons(x, xs)))) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { last^#(nil()) -> c_1() , last^#(cons(x, nil())) -> c_2() , last^#(cons(x, cons(y, xs))) -> c_3(last^#(cons(y, xs))) , del^#(x, nil()) -> c_4() , del^#(x, cons(y, xs)) -> c_5(if^#(eq(x, y), x, y, xs), eq^#(x, y)) , if^#(true(), x, y, xs) -> c_6() , if^#(false(), x, y, xs) -> c_7(del^#(x, xs)) , eq^#(0(), 0()) -> c_8() , eq^#(0(), s(y)) -> c_9() , eq^#(s(x), 0()) -> c_10() , eq^#(s(x), s(y)) -> c_11(eq^#(x, y)) , reverse^#(nil()) -> c_12() , reverse^#(cons(x, xs)) -> c_13(last^#(cons(x, xs)), reverse^#(del(last(cons(x, xs)), cons(x, xs))), del^#(last(cons(x, xs)), cons(x, xs)), last^#(cons(x, xs))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { last^#(nil()) -> c_1() , last^#(cons(x, nil())) -> c_2() , last^#(cons(x, cons(y, xs))) -> c_3(last^#(cons(y, xs))) , del^#(x, nil()) -> c_4() , del^#(x, cons(y, xs)) -> c_5(if^#(eq(x, y), x, y, xs), eq^#(x, y)) , if^#(true(), x, y, xs) -> c_6() , if^#(false(), x, y, xs) -> c_7(del^#(x, xs)) , eq^#(0(), 0()) -> c_8() , eq^#(0(), s(y)) -> c_9() , eq^#(s(x), 0()) -> c_10() , eq^#(s(x), s(y)) -> c_11(eq^#(x, y)) , reverse^#(nil()) -> c_12() , reverse^#(cons(x, xs)) -> c_13(last^#(cons(x, xs)), reverse^#(del(last(cons(x, xs)), cons(x, xs))), del^#(last(cons(x, xs)), cons(x, xs)), last^#(cons(x, xs))) } Weak Trs: { last(nil()) -> 0() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , del(x, nil()) -> nil() , del(x, cons(y, xs)) -> if(eq(x, y), x, y, xs) , if(true(), x, y, xs) -> xs , if(false(), x, y, xs) -> cons(y, del(x, xs)) , eq(0(), 0()) -> true() , eq(0(), s(y)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , reverse(nil()) -> nil() , reverse(cons(x, xs)) -> cons(last(cons(x, xs)), reverse(del(last(cons(x, xs)), cons(x, xs)))) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,4,6,8,9,10,12} by applications of Pre({1,2,4,6,8,9,10,12}) = {3,5,7,11,13}. Here rules are labeled as follows: DPs: { 1: last^#(nil()) -> c_1() , 2: last^#(cons(x, nil())) -> c_2() , 3: last^#(cons(x, cons(y, xs))) -> c_3(last^#(cons(y, xs))) , 4: del^#(x, nil()) -> c_4() , 5: del^#(x, cons(y, xs)) -> c_5(if^#(eq(x, y), x, y, xs), eq^#(x, y)) , 6: if^#(true(), x, y, xs) -> c_6() , 7: if^#(false(), x, y, xs) -> c_7(del^#(x, xs)) , 8: eq^#(0(), 0()) -> c_8() , 9: eq^#(0(), s(y)) -> c_9() , 10: eq^#(s(x), 0()) -> c_10() , 11: eq^#(s(x), s(y)) -> c_11(eq^#(x, y)) , 12: reverse^#(nil()) -> c_12() , 13: reverse^#(cons(x, xs)) -> c_13(last^#(cons(x, xs)), reverse^#(del(last(cons(x, xs)), cons(x, xs))), del^#(last(cons(x, xs)), cons(x, xs)), last^#(cons(x, xs))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { last^#(cons(x, cons(y, xs))) -> c_3(last^#(cons(y, xs))) , del^#(x, cons(y, xs)) -> c_5(if^#(eq(x, y), x, y, xs), eq^#(x, y)) , if^#(false(), x, y, xs) -> c_7(del^#(x, xs)) , eq^#(s(x), s(y)) -> c_11(eq^#(x, y)) , reverse^#(cons(x, xs)) -> c_13(last^#(cons(x, xs)), reverse^#(del(last(cons(x, xs)), cons(x, xs))), del^#(last(cons(x, xs)), cons(x, xs)), last^#(cons(x, xs))) } Weak DPs: { last^#(nil()) -> c_1() , last^#(cons(x, nil())) -> c_2() , del^#(x, nil()) -> c_4() , if^#(true(), x, y, xs) -> c_6() , eq^#(0(), 0()) -> c_8() , eq^#(0(), s(y)) -> c_9() , eq^#(s(x), 0()) -> c_10() , reverse^#(nil()) -> c_12() } Weak Trs: { last(nil()) -> 0() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , del(x, nil()) -> nil() , del(x, cons(y, xs)) -> if(eq(x, y), x, y, xs) , if(true(), x, y, xs) -> xs , if(false(), x, y, xs) -> cons(y, del(x, xs)) , eq(0(), 0()) -> true() , eq(0(), s(y)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , reverse(nil()) -> nil() , reverse(cons(x, xs)) -> cons(last(cons(x, xs)), reverse(del(last(cons(x, xs)), cons(x, xs)))) } 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. { last^#(nil()) -> c_1() , last^#(cons(x, nil())) -> c_2() , del^#(x, nil()) -> c_4() , if^#(true(), x, y, xs) -> c_6() , eq^#(0(), 0()) -> c_8() , eq^#(0(), s(y)) -> c_9() , eq^#(s(x), 0()) -> c_10() , reverse^#(nil()) -> c_12() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { last^#(cons(x, cons(y, xs))) -> c_3(last^#(cons(y, xs))) , del^#(x, cons(y, xs)) -> c_5(if^#(eq(x, y), x, y, xs), eq^#(x, y)) , if^#(false(), x, y, xs) -> c_7(del^#(x, xs)) , eq^#(s(x), s(y)) -> c_11(eq^#(x, y)) , reverse^#(cons(x, xs)) -> c_13(last^#(cons(x, xs)), reverse^#(del(last(cons(x, xs)), cons(x, xs))), del^#(last(cons(x, xs)), cons(x, xs)), last^#(cons(x, xs))) } Weak Trs: { last(nil()) -> 0() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , del(x, nil()) -> nil() , del(x, cons(y, xs)) -> if(eq(x, y), x, y, xs) , if(true(), x, y, xs) -> xs , if(false(), x, y, xs) -> cons(y, del(x, xs)) , eq(0(), 0()) -> true() , eq(0(), s(y)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) , reverse(nil()) -> nil() , reverse(cons(x, xs)) -> cons(last(cons(x, xs)), reverse(del(last(cons(x, xs)), cons(x, xs)))) } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { last(nil()) -> 0() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , del(x, nil()) -> nil() , del(x, cons(y, xs)) -> if(eq(x, y), x, y, xs) , if(true(), x, y, xs) -> xs , if(false(), x, y, xs) -> cons(y, del(x, xs)) , eq(0(), 0()) -> true() , eq(0(), s(y)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, y) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { last^#(cons(x, cons(y, xs))) -> c_3(last^#(cons(y, xs))) , del^#(x, cons(y, xs)) -> c_5(if^#(eq(x, y), x, y, xs), eq^#(x, y)) , if^#(false(), x, y, xs) -> c_7(del^#(x, xs)) , eq^#(s(x), s(y)) -> c_11(eq^#(x, y)) , reverse^#(cons(x, xs)) -> c_13(last^#(cons(x, xs)), reverse^#(del(last(cons(x, xs)), cons(x, xs))), del^#(last(cons(x, xs)), cons(x, xs)), last^#(cons(x, xs))) } Weak Trs: { last(nil()) -> 0() , last(cons(x, nil())) -> x , last(cons(x, cons(y, xs))) -> last(cons(y, xs)) , del(x, nil()) -> nil() , del(x, cons(y, xs)) -> if(eq(x, y), x, y, xs) , if(true(), x, y, xs) -> xs , if(false(), x, y, xs) -> cons(y, del(x, xs)) , eq(0(), 0()) -> true() , eq(0(), s(y)) -> false() , eq(s(x), 0()) -> false() , eq(s(x), s(y)) -> eq(x, 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..