MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { g(A()) -> A() , g(B()) -> A() , g(B()) -> B() , g(C()) -> A() , g(C()) -> B() , g(C()) -> C() , foldf(x, nil()) -> x , foldf(x, cons(y, z)) -> f(foldf(x, z), y) , f(t, x) -> f'(t, g(x)) , f'(triple(a, b, c), A()) -> f''(foldf(triple(cons(A(), a), nil(), c), b)) , f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()) , f'(triple(a, b, c), C()) -> triple(a, b, cons(C(), c)) , f''(triple(a, b, c)) -> foldf(triple(a, b, nil()), c) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { g^#(A()) -> c_1() , g^#(B()) -> c_2() , g^#(B()) -> c_3() , g^#(C()) -> c_4() , g^#(C()) -> c_5() , g^#(C()) -> c_6() , foldf^#(x, nil()) -> c_7() , foldf^#(x, cons(y, z)) -> c_8(f^#(foldf(x, z), y), foldf^#(x, z)) , f^#(t, x) -> c_9(f'^#(t, g(x)), g^#(x)) , f'^#(triple(a, b, c), A()) -> c_10(f''^#(foldf(triple(cons(A(), a), nil(), c), b)), foldf^#(triple(cons(A(), a), nil(), c), b)) , f'^#(triple(a, b, c), B()) -> c_11(f^#(triple(a, b, c), A())) , f'^#(triple(a, b, c), C()) -> c_12() , f''^#(triple(a, b, c)) -> c_13(foldf^#(triple(a, b, nil()), c)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { g^#(A()) -> c_1() , g^#(B()) -> c_2() , g^#(B()) -> c_3() , g^#(C()) -> c_4() , g^#(C()) -> c_5() , g^#(C()) -> c_6() , foldf^#(x, nil()) -> c_7() , foldf^#(x, cons(y, z)) -> c_8(f^#(foldf(x, z), y), foldf^#(x, z)) , f^#(t, x) -> c_9(f'^#(t, g(x)), g^#(x)) , f'^#(triple(a, b, c), A()) -> c_10(f''^#(foldf(triple(cons(A(), a), nil(), c), b)), foldf^#(triple(cons(A(), a), nil(), c), b)) , f'^#(triple(a, b, c), B()) -> c_11(f^#(triple(a, b, c), A())) , f'^#(triple(a, b, c), C()) -> c_12() , f''^#(triple(a, b, c)) -> c_13(foldf^#(triple(a, b, nil()), c)) } Weak Trs: { g(A()) -> A() , g(B()) -> A() , g(B()) -> B() , g(C()) -> A() , g(C()) -> B() , g(C()) -> C() , foldf(x, nil()) -> x , foldf(x, cons(y, z)) -> f(foldf(x, z), y) , f(t, x) -> f'(t, g(x)) , f'(triple(a, b, c), A()) -> f''(foldf(triple(cons(A(), a), nil(), c), b)) , f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()) , f'(triple(a, b, c), C()) -> triple(a, b, cons(C(), c)) , f''(triple(a, b, c)) -> foldf(triple(a, b, nil()), c) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,4,5,6,7,12} by applications of Pre({1,2,3,4,5,6,7,12}) = {8,9,10,13}. Here rules are labeled as follows: DPs: { 1: g^#(A()) -> c_1() , 2: g^#(B()) -> c_2() , 3: g^#(B()) -> c_3() , 4: g^#(C()) -> c_4() , 5: g^#(C()) -> c_5() , 6: g^#(C()) -> c_6() , 7: foldf^#(x, nil()) -> c_7() , 8: foldf^#(x, cons(y, z)) -> c_8(f^#(foldf(x, z), y), foldf^#(x, z)) , 9: f^#(t, x) -> c_9(f'^#(t, g(x)), g^#(x)) , 10: f'^#(triple(a, b, c), A()) -> c_10(f''^#(foldf(triple(cons(A(), a), nil(), c), b)), foldf^#(triple(cons(A(), a), nil(), c), b)) , 11: f'^#(triple(a, b, c), B()) -> c_11(f^#(triple(a, b, c), A())) , 12: f'^#(triple(a, b, c), C()) -> c_12() , 13: f''^#(triple(a, b, c)) -> c_13(foldf^#(triple(a, b, nil()), c)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { foldf^#(x, cons(y, z)) -> c_8(f^#(foldf(x, z), y), foldf^#(x, z)) , f^#(t, x) -> c_9(f'^#(t, g(x)), g^#(x)) , f'^#(triple(a, b, c), A()) -> c_10(f''^#(foldf(triple(cons(A(), a), nil(), c), b)), foldf^#(triple(cons(A(), a), nil(), c), b)) , f'^#(triple(a, b, c), B()) -> c_11(f^#(triple(a, b, c), A())) , f''^#(triple(a, b, c)) -> c_13(foldf^#(triple(a, b, nil()), c)) } Weak DPs: { g^#(A()) -> c_1() , g^#(B()) -> c_2() , g^#(B()) -> c_3() , g^#(C()) -> c_4() , g^#(C()) -> c_5() , g^#(C()) -> c_6() , foldf^#(x, nil()) -> c_7() , f'^#(triple(a, b, c), C()) -> c_12() } Weak Trs: { g(A()) -> A() , g(B()) -> A() , g(B()) -> B() , g(C()) -> A() , g(C()) -> B() , g(C()) -> C() , foldf(x, nil()) -> x , foldf(x, cons(y, z)) -> f(foldf(x, z), y) , f(t, x) -> f'(t, g(x)) , f'(triple(a, b, c), A()) -> f''(foldf(triple(cons(A(), a), nil(), c), b)) , f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()) , f'(triple(a, b, c), C()) -> triple(a, b, cons(C(), c)) , f''(triple(a, b, c)) -> foldf(triple(a, b, nil()), c) } 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. { g^#(A()) -> c_1() , g^#(B()) -> c_2() , g^#(B()) -> c_3() , g^#(C()) -> c_4() , g^#(C()) -> c_5() , g^#(C()) -> c_6() , foldf^#(x, nil()) -> c_7() , f'^#(triple(a, b, c), C()) -> c_12() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { foldf^#(x, cons(y, z)) -> c_8(f^#(foldf(x, z), y), foldf^#(x, z)) , f^#(t, x) -> c_9(f'^#(t, g(x)), g^#(x)) , f'^#(triple(a, b, c), A()) -> c_10(f''^#(foldf(triple(cons(A(), a), nil(), c), b)), foldf^#(triple(cons(A(), a), nil(), c), b)) , f'^#(triple(a, b, c), B()) -> c_11(f^#(triple(a, b, c), A())) , f''^#(triple(a, b, c)) -> c_13(foldf^#(triple(a, b, nil()), c)) } Weak Trs: { g(A()) -> A() , g(B()) -> A() , g(B()) -> B() , g(C()) -> A() , g(C()) -> B() , g(C()) -> C() , foldf(x, nil()) -> x , foldf(x, cons(y, z)) -> f(foldf(x, z), y) , f(t, x) -> f'(t, g(x)) , f'(triple(a, b, c), A()) -> f''(foldf(triple(cons(A(), a), nil(), c), b)) , f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()) , f'(triple(a, b, c), C()) -> triple(a, b, cons(C(), c)) , f''(triple(a, b, c)) -> foldf(triple(a, b, nil()), c) } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { f^#(t, x) -> c_9(f'^#(t, g(x)), g^#(x)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { foldf^#(x, cons(y, z)) -> c_1(f^#(foldf(x, z), y), foldf^#(x, z)) , f^#(t, x) -> c_2(f'^#(t, g(x))) , f'^#(triple(a, b, c), A()) -> c_3(f''^#(foldf(triple(cons(A(), a), nil(), c), b)), foldf^#(triple(cons(A(), a), nil(), c), b)) , f'^#(triple(a, b, c), B()) -> c_4(f^#(triple(a, b, c), A())) , f''^#(triple(a, b, c)) -> c_5(foldf^#(triple(a, b, nil()), c)) } Weak Trs: { g(A()) -> A() , g(B()) -> A() , g(B()) -> B() , g(C()) -> A() , g(C()) -> B() , g(C()) -> C() , foldf(x, nil()) -> x , foldf(x, cons(y, z)) -> f(foldf(x, z), y) , f(t, x) -> f'(t, g(x)) , f'(triple(a, b, c), A()) -> f''(foldf(triple(cons(A(), a), nil(), c), b)) , f'(triple(a, b, c), B()) -> f(triple(a, b, c), A()) , f'(triple(a, b, c), C()) -> triple(a, b, cons(C(), c)) , f''(triple(a, b, c)) -> foldf(triple(a, b, nil()), c) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..