MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { a__nats() -> cons(0(), incr(nats())) , a__nats() -> nats() , a__pairs() -> cons(0(), incr(odds())) , a__pairs() -> pairs() , a__odds() -> odds() , a__odds() -> a__incr(a__pairs()) , a__incr(X) -> incr(X) , a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) , mark(cons(X1, X2)) -> cons(mark(X1), X2) , mark(0()) -> 0() , mark(incr(X)) -> a__incr(mark(X)) , mark(nats()) -> a__nats() , mark(odds()) -> a__odds() , mark(s(X)) -> s(mark(X)) , mark(pairs()) -> a__pairs() , mark(head(X)) -> a__head(mark(X)) , mark(tail(X)) -> a__tail(mark(X)) , a__head(X) -> head(X) , a__head(cons(X, XS)) -> mark(X) , a__tail(X) -> tail(X) , a__tail(cons(X, XS)) -> mark(XS) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { a__nats^#() -> c_1() , a__nats^#() -> c_2() , a__pairs^#() -> c_3() , a__pairs^#() -> c_4() , a__odds^#() -> c_5() , a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , a__incr^#(X) -> c_7() , a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , mark^#(0()) -> c_10() , mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , mark^#(nats()) -> c_12(a__nats^#()) , mark^#(odds()) -> c_13(a__odds^#()) , mark^#(s(X)) -> c_14(mark^#(X)) , mark^#(pairs()) -> c_15(a__pairs^#()) , mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , a__head^#(X) -> c_18() , a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , a__tail^#(X) -> c_20() , a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__nats^#() -> c_1() , a__nats^#() -> c_2() , a__pairs^#() -> c_3() , a__pairs^#() -> c_4() , a__odds^#() -> c_5() , a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , a__incr^#(X) -> c_7() , a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , mark^#(0()) -> c_10() , mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , mark^#(nats()) -> c_12(a__nats^#()) , mark^#(odds()) -> c_13(a__odds^#()) , mark^#(s(X)) -> c_14(mark^#(X)) , mark^#(pairs()) -> c_15(a__pairs^#()) , mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , a__head^#(X) -> c_18() , a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , a__tail^#(X) -> c_20() , a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) } Weak Trs: { a__nats() -> cons(0(), incr(nats())) , a__nats() -> nats() , a__pairs() -> cons(0(), incr(odds())) , a__pairs() -> pairs() , a__odds() -> odds() , a__odds() -> a__incr(a__pairs()) , a__incr(X) -> incr(X) , a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) , mark(cons(X1, X2)) -> cons(mark(X1), X2) , mark(0()) -> 0() , mark(incr(X)) -> a__incr(mark(X)) , mark(nats()) -> a__nats() , mark(odds()) -> a__odds() , mark(s(X)) -> s(mark(X)) , mark(pairs()) -> a__pairs() , mark(head(X)) -> a__head(mark(X)) , mark(tail(X)) -> a__tail(mark(X)) , a__head(X) -> head(X) , a__head(cons(X, XS)) -> mark(X) , a__tail(X) -> tail(X) , a__tail(cons(X, XS)) -> mark(XS) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,4,5,7,10,18,20} by applications of Pre({1,2,3,4,5,7,10,18,20}) = {6,8,9,11,12,13,14,15,16,17,19,21}. Here rules are labeled as follows: DPs: { 1: a__nats^#() -> c_1() , 2: a__nats^#() -> c_2() , 3: a__pairs^#() -> c_3() , 4: a__pairs^#() -> c_4() , 5: a__odds^#() -> c_5() , 6: a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , 7: a__incr^#(X) -> c_7() , 8: a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , 9: mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , 10: mark^#(0()) -> c_10() , 11: mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , 12: mark^#(nats()) -> c_12(a__nats^#()) , 13: mark^#(odds()) -> c_13(a__odds^#()) , 14: mark^#(s(X)) -> c_14(mark^#(X)) , 15: mark^#(pairs()) -> c_15(a__pairs^#()) , 16: mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , 17: mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , 18: a__head^#(X) -> c_18() , 19: a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , 20: a__tail^#(X) -> c_20() , 21: a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , mark^#(nats()) -> c_12(a__nats^#()) , mark^#(odds()) -> c_13(a__odds^#()) , mark^#(s(X)) -> c_14(mark^#(X)) , mark^#(pairs()) -> c_15(a__pairs^#()) , mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) } Weak DPs: { a__nats^#() -> c_1() , a__nats^#() -> c_2() , a__pairs^#() -> c_3() , a__pairs^#() -> c_4() , a__odds^#() -> c_5() , a__incr^#(X) -> c_7() , mark^#(0()) -> c_10() , a__head^#(X) -> c_18() , a__tail^#(X) -> c_20() } Weak Trs: { a__nats() -> cons(0(), incr(nats())) , a__nats() -> nats() , a__pairs() -> cons(0(), incr(odds())) , a__pairs() -> pairs() , a__odds() -> odds() , a__odds() -> a__incr(a__pairs()) , a__incr(X) -> incr(X) , a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) , mark(cons(X1, X2)) -> cons(mark(X1), X2) , mark(0()) -> 0() , mark(incr(X)) -> a__incr(mark(X)) , mark(nats()) -> a__nats() , mark(odds()) -> a__odds() , mark(s(X)) -> s(mark(X)) , mark(pairs()) -> a__pairs() , mark(head(X)) -> a__head(mark(X)) , mark(tail(X)) -> a__tail(mark(X)) , a__head(X) -> head(X) , a__head(cons(X, XS)) -> mark(X) , a__tail(X) -> tail(X) , a__tail(cons(X, XS)) -> mark(XS) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {5,8} by applications of Pre({5,8}) = {2,3,4,7,9,10,11,12}. Here rules are labeled as follows: DPs: { 1: a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , 2: a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , 3: mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , 4: mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , 5: mark^#(nats()) -> c_12(a__nats^#()) , 6: mark^#(odds()) -> c_13(a__odds^#()) , 7: mark^#(s(X)) -> c_14(mark^#(X)) , 8: mark^#(pairs()) -> c_15(a__pairs^#()) , 9: mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , 10: mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , 11: a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , 12: a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) , 13: a__nats^#() -> c_1() , 14: a__nats^#() -> c_2() , 15: a__pairs^#() -> c_3() , 16: a__pairs^#() -> c_4() , 17: a__odds^#() -> c_5() , 18: a__incr^#(X) -> c_7() , 19: mark^#(0()) -> c_10() , 20: a__head^#(X) -> c_18() , 21: a__tail^#(X) -> c_20() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , mark^#(odds()) -> c_13(a__odds^#()) , mark^#(s(X)) -> c_14(mark^#(X)) , mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) } Weak DPs: { a__nats^#() -> c_1() , a__nats^#() -> c_2() , a__pairs^#() -> c_3() , a__pairs^#() -> c_4() , a__odds^#() -> c_5() , a__incr^#(X) -> c_7() , mark^#(0()) -> c_10() , mark^#(nats()) -> c_12(a__nats^#()) , mark^#(pairs()) -> c_15(a__pairs^#()) , a__head^#(X) -> c_18() , a__tail^#(X) -> c_20() } Weak Trs: { a__nats() -> cons(0(), incr(nats())) , a__nats() -> nats() , a__pairs() -> cons(0(), incr(odds())) , a__pairs() -> pairs() , a__odds() -> odds() , a__odds() -> a__incr(a__pairs()) , a__incr(X) -> incr(X) , a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) , mark(cons(X1, X2)) -> cons(mark(X1), X2) , mark(0()) -> 0() , mark(incr(X)) -> a__incr(mark(X)) , mark(nats()) -> a__nats() , mark(odds()) -> a__odds() , mark(s(X)) -> s(mark(X)) , mark(pairs()) -> a__pairs() , mark(head(X)) -> a__head(mark(X)) , mark(tail(X)) -> a__tail(mark(X)) , a__head(X) -> head(X) , a__head(cons(X, XS)) -> mark(X) , a__tail(X) -> tail(X) , a__tail(cons(X, XS)) -> mark(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. { a__nats^#() -> c_1() , a__nats^#() -> c_2() , a__pairs^#() -> c_3() , a__pairs^#() -> c_4() , a__odds^#() -> c_5() , a__incr^#(X) -> c_7() , mark^#(0()) -> c_10() , mark^#(nats()) -> c_12(a__nats^#()) , mark^#(pairs()) -> c_15(a__pairs^#()) , a__head^#(X) -> c_18() , a__tail^#(X) -> c_20() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) , a__incr^#(cons(X, XS)) -> c_8(mark^#(X)) , mark^#(cons(X1, X2)) -> c_9(mark^#(X1)) , mark^#(incr(X)) -> c_11(a__incr^#(mark(X)), mark^#(X)) , mark^#(odds()) -> c_13(a__odds^#()) , mark^#(s(X)) -> c_14(mark^#(X)) , mark^#(head(X)) -> c_16(a__head^#(mark(X)), mark^#(X)) , mark^#(tail(X)) -> c_17(a__tail^#(mark(X)), mark^#(X)) , a__head^#(cons(X, XS)) -> c_19(mark^#(X)) , a__tail^#(cons(X, XS)) -> c_21(mark^#(XS)) } Weak Trs: { a__nats() -> cons(0(), incr(nats())) , a__nats() -> nats() , a__pairs() -> cons(0(), incr(odds())) , a__pairs() -> pairs() , a__odds() -> odds() , a__odds() -> a__incr(a__pairs()) , a__incr(X) -> incr(X) , a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) , mark(cons(X1, X2)) -> cons(mark(X1), X2) , mark(0()) -> 0() , mark(incr(X)) -> a__incr(mark(X)) , mark(nats()) -> a__nats() , mark(odds()) -> a__odds() , mark(s(X)) -> s(mark(X)) , mark(pairs()) -> a__pairs() , mark(head(X)) -> a__head(mark(X)) , mark(tail(X)) -> a__tail(mark(X)) , a__head(X) -> head(X) , a__head(cons(X, XS)) -> mark(X) , a__tail(X) -> tail(X) , a__tail(cons(X, XS)) -> mark(XS) } Obligation: innermost runtime complexity Answer: MAYBE Due to missing edges in the dependency-graph, the right-hand sides of following rules could be simplified: { a__odds^#() -> c_6(a__incr^#(a__pairs()), a__pairs^#()) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { a__odds^#() -> c_1(a__incr^#(a__pairs())) , a__incr^#(cons(X, XS)) -> c_2(mark^#(X)) , mark^#(cons(X1, X2)) -> c_3(mark^#(X1)) , mark^#(incr(X)) -> c_4(a__incr^#(mark(X)), mark^#(X)) , mark^#(odds()) -> c_5(a__odds^#()) , mark^#(s(X)) -> c_6(mark^#(X)) , mark^#(head(X)) -> c_7(a__head^#(mark(X)), mark^#(X)) , mark^#(tail(X)) -> c_8(a__tail^#(mark(X)), mark^#(X)) , a__head^#(cons(X, XS)) -> c_9(mark^#(X)) , a__tail^#(cons(X, XS)) -> c_10(mark^#(XS)) } Weak Trs: { a__nats() -> cons(0(), incr(nats())) , a__nats() -> nats() , a__pairs() -> cons(0(), incr(odds())) , a__pairs() -> pairs() , a__odds() -> odds() , a__odds() -> a__incr(a__pairs()) , a__incr(X) -> incr(X) , a__incr(cons(X, XS)) -> cons(s(mark(X)), incr(XS)) , mark(cons(X1, X2)) -> cons(mark(X1), X2) , mark(0()) -> 0() , mark(incr(X)) -> a__incr(mark(X)) , mark(nats()) -> a__nats() , mark(odds()) -> a__odds() , mark(s(X)) -> s(mark(X)) , mark(pairs()) -> a__pairs() , mark(head(X)) -> a__head(mark(X)) , mark(tail(X)) -> a__tail(mark(X)) , a__head(X) -> head(X) , a__head(cons(X, XS)) -> mark(X) , a__tail(X) -> tail(X) , a__tail(cons(X, XS)) -> mark(XS) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..