MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { lt(x, 0()) -> false() , lt(0(), s(x)) -> true() , lt(s(x), s(y)) -> lt(x, y) , fibo(0()) -> fib(0()) , fibo(s(0())) -> fib(s(0())) , fibo(s(s(x))) -> sum(fibo(s(x)), fibo(x)) , fib(0()) -> s(0()) , fib(s(0())) -> s(0()) , fib(s(s(x))) -> if(true(), 0(), s(s(x)), 0(), 0()) , sum(x, 0()) -> x , sum(x, s(y)) -> s(sum(x, y)) , if(true(), c, s(s(x)), a, b) -> if(lt(s(c), s(s(x))), s(c), s(s(x)), b, c) , if(false(), c, s(s(x)), a, b) -> sum(fibo(a), fibo(b)) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { lt^#(x, 0()) -> c_1() , lt^#(0(), s(x)) -> c_2() , lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , fibo^#(0()) -> c_4(fib^#(0())) , fibo^#(s(0())) -> c_5(fib^#(s(0()))) , fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , fib^#(0()) -> c_7() , fib^#(s(0())) -> c_8() , fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , sum^#(x, 0()) -> c_10() , sum^#(x, s(y)) -> c_11(sum^#(x, y)) , if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { lt^#(x, 0()) -> c_1() , lt^#(0(), s(x)) -> c_2() , lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , fibo^#(0()) -> c_4(fib^#(0())) , fibo^#(s(0())) -> c_5(fib^#(s(0()))) , fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , fib^#(0()) -> c_7() , fib^#(s(0())) -> c_8() , fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , sum^#(x, 0()) -> c_10() , sum^#(x, s(y)) -> c_11(sum^#(x, y)) , if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } Weak Trs: { lt(x, 0()) -> false() , lt(0(), s(x)) -> true() , lt(s(x), s(y)) -> lt(x, y) , fibo(0()) -> fib(0()) , fibo(s(0())) -> fib(s(0())) , fibo(s(s(x))) -> sum(fibo(s(x)), fibo(x)) , fib(0()) -> s(0()) , fib(s(0())) -> s(0()) , fib(s(s(x))) -> if(true(), 0(), s(s(x)), 0(), 0()) , sum(x, 0()) -> x , sum(x, s(y)) -> s(sum(x, y)) , if(true(), c, s(s(x)), a, b) -> if(lt(s(c), s(s(x))), s(c), s(s(x)), b, c) , if(false(), c, s(s(x)), a, b) -> sum(fibo(a), fibo(b)) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,7,8,10} by applications of Pre({1,2,7,8,10}) = {3,4,5,6,11,13}. Here rules are labeled as follows: DPs: { 1: lt^#(x, 0()) -> c_1() , 2: lt^#(0(), s(x)) -> c_2() , 3: lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , 4: fibo^#(0()) -> c_4(fib^#(0())) , 5: fibo^#(s(0())) -> c_5(fib^#(s(0()))) , 6: fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , 7: fib^#(0()) -> c_7() , 8: fib^#(s(0())) -> c_8() , 9: fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , 10: sum^#(x, 0()) -> c_10() , 11: sum^#(x, s(y)) -> c_11(sum^#(x, y)) , 12: if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , 13: if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , fibo^#(0()) -> c_4(fib^#(0())) , fibo^#(s(0())) -> c_5(fib^#(s(0()))) , fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , sum^#(x, s(y)) -> c_11(sum^#(x, y)) , if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } Weak DPs: { lt^#(x, 0()) -> c_1() , lt^#(0(), s(x)) -> c_2() , fib^#(0()) -> c_7() , fib^#(s(0())) -> c_8() , sum^#(x, 0()) -> c_10() } Weak Trs: { lt(x, 0()) -> false() , lt(0(), s(x)) -> true() , lt(s(x), s(y)) -> lt(x, y) , fibo(0()) -> fib(0()) , fibo(s(0())) -> fib(s(0())) , fibo(s(s(x))) -> sum(fibo(s(x)), fibo(x)) , fib(0()) -> s(0()) , fib(s(0())) -> s(0()) , fib(s(s(x))) -> if(true(), 0(), s(s(x)), 0(), 0()) , sum(x, 0()) -> x , sum(x, s(y)) -> s(sum(x, y)) , if(true(), c, s(s(x)), a, b) -> if(lt(s(c), s(s(x))), s(c), s(s(x)), b, c) , if(false(), c, s(s(x)), a, b) -> sum(fibo(a), fibo(b)) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {2,3} by applications of Pre({2,3}) = {4,8}. Here rules are labeled as follows: DPs: { 1: lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , 2: fibo^#(0()) -> c_4(fib^#(0())) , 3: fibo^#(s(0())) -> c_5(fib^#(s(0()))) , 4: fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , 5: fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , 6: sum^#(x, s(y)) -> c_11(sum^#(x, y)) , 7: if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , 8: if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) , 9: lt^#(x, 0()) -> c_1() , 10: lt^#(0(), s(x)) -> c_2() , 11: fib^#(0()) -> c_7() , 12: fib^#(s(0())) -> c_8() , 13: sum^#(x, 0()) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , sum^#(x, s(y)) -> c_11(sum^#(x, y)) , if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } Weak DPs: { lt^#(x, 0()) -> c_1() , lt^#(0(), s(x)) -> c_2() , fibo^#(0()) -> c_4(fib^#(0())) , fibo^#(s(0())) -> c_5(fib^#(s(0()))) , fib^#(0()) -> c_7() , fib^#(s(0())) -> c_8() , sum^#(x, 0()) -> c_10() } Weak Trs: { lt(x, 0()) -> false() , lt(0(), s(x)) -> true() , lt(s(x), s(y)) -> lt(x, y) , fibo(0()) -> fib(0()) , fibo(s(0())) -> fib(s(0())) , fibo(s(s(x))) -> sum(fibo(s(x)), fibo(x)) , fib(0()) -> s(0()) , fib(s(0())) -> s(0()) , fib(s(s(x))) -> if(true(), 0(), s(s(x)), 0(), 0()) , sum(x, 0()) -> x , sum(x, s(y)) -> s(sum(x, y)) , if(true(), c, s(s(x)), a, b) -> if(lt(s(c), s(s(x))), s(c), s(s(x)), b, c) , if(false(), c, s(s(x)), a, b) -> sum(fibo(a), fibo(b)) } 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. { lt^#(x, 0()) -> c_1() , lt^#(0(), s(x)) -> c_2() , fibo^#(0()) -> c_4(fib^#(0())) , fibo^#(s(0())) -> c_5(fib^#(s(0()))) , fib^#(0()) -> c_7() , fib^#(s(0())) -> c_8() , sum^#(x, 0()) -> c_10() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) , sum^#(x, s(y)) -> c_11(sum^#(x, y)) , if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } Weak Trs: { lt(x, 0()) -> false() , lt(0(), s(x)) -> true() , lt(s(x), s(y)) -> lt(x, y) , fibo(0()) -> fib(0()) , fibo(s(0())) -> fib(s(0())) , fibo(s(s(x))) -> sum(fibo(s(x)), fibo(x)) , fib(0()) -> s(0()) , fib(s(0())) -> s(0()) , fib(s(s(x))) -> if(true(), 0(), s(s(x)), 0(), 0()) , sum(x, 0()) -> x , sum(x, s(y)) -> s(sum(x, y)) , if(true(), c, s(s(x)), a, b) -> if(lt(s(c), s(s(x))), s(c), s(s(x)), b, c) , if(false(), c, s(s(x)), a, b) -> sum(fibo(a), fibo(b)) } Obligation: innermost runtime complexity Answer: MAYBE Consider the dependency graph 1: lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) -->_1 lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) :1 2: fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) -->_1 sum^#(x, s(y)) -> c_11(sum^#(x, y)) :4 -->_3 fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) :2 -->_2 fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) :2 3: fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) -->_1 if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) :5 4: sum^#(x, s(y)) -> c_11(sum^#(x, y)) -->_1 sum^#(x, s(y)) -> c_11(sum^#(x, y)) :4 5: if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) -->_1 if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) :6 -->_1 if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) :5 -->_2 lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) :1 6: if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) -->_1 sum^#(x, s(y)) -> c_11(sum^#(x, y)) :4 -->_3 fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) :2 -->_2 fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) :2 Following roots of the dependency graph are removed, as the considered set of starting terms is closed under reduction with respect to these rules (modulo compound contexts). { fib^#(s(s(x))) -> c_9(if^#(true(), 0(), s(s(x)), 0(), 0())) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { lt^#(s(x), s(y)) -> c_3(lt^#(x, y)) , fibo^#(s(s(x))) -> c_6(sum^#(fibo(s(x)), fibo(x)), fibo^#(s(x)), fibo^#(x)) , sum^#(x, s(y)) -> c_11(sum^#(x, y)) , if^#(true(), c, s(s(x)), a, b) -> c_12(if^#(lt(s(c), s(s(x))), s(c), s(s(x)), b, c), lt^#(s(c), s(s(x)))) , if^#(false(), c, s(s(x)), a, b) -> c_13(sum^#(fibo(a), fibo(b)), fibo^#(a), fibo^#(b)) } Weak Trs: { lt(x, 0()) -> false() , lt(0(), s(x)) -> true() , lt(s(x), s(y)) -> lt(x, y) , fibo(0()) -> fib(0()) , fibo(s(0())) -> fib(s(0())) , fibo(s(s(x))) -> sum(fibo(s(x)), fibo(x)) , fib(0()) -> s(0()) , fib(s(0())) -> s(0()) , fib(s(s(x))) -> if(true(), 0(), s(s(x)), 0(), 0()) , sum(x, 0()) -> x , sum(x, s(y)) -> s(sum(x, y)) , if(true(), c, s(s(x)), a, b) -> if(lt(s(c), s(s(x))), s(c), s(s(x)), b, c) , if(false(), c, s(s(x)), a, b) -> sum(fibo(a), fibo(b)) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..