MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { eq(0(), 0()) -> true() , eq(0(), s(X)) -> false() , eq(s(X), 0()) -> false() , eq(s(X), s(Y)) -> eq(X, Y) , rm(N, nil()) -> nil() , rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X)) , ifrm(true(), N, add(M, X)) -> rm(N, X) , ifrm(false(), N, add(M, X)) -> add(M, rm(N, X)) , purge(nil()) -> nil() , purge(add(N, X)) -> add(N, purge(rm(N, X))) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(X)) -> c_2() , eq^#(s(X), 0()) -> c_3() , eq^#(s(X), s(Y)) -> c_4(eq^#(X, Y)) , rm^#(N, nil()) -> c_5() , rm^#(N, add(M, X)) -> c_6(ifrm^#(eq(N, M), N, add(M, X)), eq^#(N, M)) , ifrm^#(true(), N, add(M, X)) -> c_7(rm^#(N, X)) , ifrm^#(false(), N, add(M, X)) -> c_8(rm^#(N, X)) , purge^#(nil()) -> c_9() , purge^#(add(N, X)) -> c_10(purge^#(rm(N, X)), rm^#(N, X)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(X)) -> c_2() , eq^#(s(X), 0()) -> c_3() , eq^#(s(X), s(Y)) -> c_4(eq^#(X, Y)) , rm^#(N, nil()) -> c_5() , rm^#(N, add(M, X)) -> c_6(ifrm^#(eq(N, M), N, add(M, X)), eq^#(N, M)) , ifrm^#(true(), N, add(M, X)) -> c_7(rm^#(N, X)) , ifrm^#(false(), N, add(M, X)) -> c_8(rm^#(N, X)) , purge^#(nil()) -> c_9() , purge^#(add(N, X)) -> c_10(purge^#(rm(N, X)), rm^#(N, X)) } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(X)) -> false() , eq(s(X), 0()) -> false() , eq(s(X), s(Y)) -> eq(X, Y) , rm(N, nil()) -> nil() , rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X)) , ifrm(true(), N, add(M, X)) -> rm(N, X) , ifrm(false(), N, add(M, X)) -> add(M, rm(N, X)) , purge(nil()) -> nil() , purge(add(N, X)) -> add(N, purge(rm(N, X))) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,2,3,5,9} by applications of Pre({1,2,3,5,9}) = {4,6,7,8,10}. Here rules are labeled as follows: DPs: { 1: eq^#(0(), 0()) -> c_1() , 2: eq^#(0(), s(X)) -> c_2() , 3: eq^#(s(X), 0()) -> c_3() , 4: eq^#(s(X), s(Y)) -> c_4(eq^#(X, Y)) , 5: rm^#(N, nil()) -> c_5() , 6: rm^#(N, add(M, X)) -> c_6(ifrm^#(eq(N, M), N, add(M, X)), eq^#(N, M)) , 7: ifrm^#(true(), N, add(M, X)) -> c_7(rm^#(N, X)) , 8: ifrm^#(false(), N, add(M, X)) -> c_8(rm^#(N, X)) , 9: purge^#(nil()) -> c_9() , 10: purge^#(add(N, X)) -> c_10(purge^#(rm(N, X)), rm^#(N, X)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(X), s(Y)) -> c_4(eq^#(X, Y)) , rm^#(N, add(M, X)) -> c_6(ifrm^#(eq(N, M), N, add(M, X)), eq^#(N, M)) , ifrm^#(true(), N, add(M, X)) -> c_7(rm^#(N, X)) , ifrm^#(false(), N, add(M, X)) -> c_8(rm^#(N, X)) , purge^#(add(N, X)) -> c_10(purge^#(rm(N, X)), rm^#(N, X)) } Weak DPs: { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(X)) -> c_2() , eq^#(s(X), 0()) -> c_3() , rm^#(N, nil()) -> c_5() , purge^#(nil()) -> c_9() } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(X)) -> false() , eq(s(X), 0()) -> false() , eq(s(X), s(Y)) -> eq(X, Y) , rm(N, nil()) -> nil() , rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X)) , ifrm(true(), N, add(M, X)) -> rm(N, X) , ifrm(false(), N, add(M, X)) -> add(M, rm(N, X)) , purge(nil()) -> nil() , purge(add(N, X)) -> add(N, purge(rm(N, X))) } 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. { eq^#(0(), 0()) -> c_1() , eq^#(0(), s(X)) -> c_2() , eq^#(s(X), 0()) -> c_3() , rm^#(N, nil()) -> c_5() , purge^#(nil()) -> c_9() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(X), s(Y)) -> c_4(eq^#(X, Y)) , rm^#(N, add(M, X)) -> c_6(ifrm^#(eq(N, M), N, add(M, X)), eq^#(N, M)) , ifrm^#(true(), N, add(M, X)) -> c_7(rm^#(N, X)) , ifrm^#(false(), N, add(M, X)) -> c_8(rm^#(N, X)) , purge^#(add(N, X)) -> c_10(purge^#(rm(N, X)), rm^#(N, X)) } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(X)) -> false() , eq(s(X), 0()) -> false() , eq(s(X), s(Y)) -> eq(X, Y) , rm(N, nil()) -> nil() , rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X)) , ifrm(true(), N, add(M, X)) -> rm(N, X) , ifrm(false(), N, add(M, X)) -> add(M, rm(N, X)) , purge(nil()) -> nil() , purge(add(N, X)) -> add(N, purge(rm(N, X))) } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { eq(0(), 0()) -> true() , eq(0(), s(X)) -> false() , eq(s(X), 0()) -> false() , eq(s(X), s(Y)) -> eq(X, Y) , rm(N, nil()) -> nil() , rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X)) , ifrm(true(), N, add(M, X)) -> rm(N, X) , ifrm(false(), N, add(M, X)) -> add(M, rm(N, X)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { eq^#(s(X), s(Y)) -> c_4(eq^#(X, Y)) , rm^#(N, add(M, X)) -> c_6(ifrm^#(eq(N, M), N, add(M, X)), eq^#(N, M)) , ifrm^#(true(), N, add(M, X)) -> c_7(rm^#(N, X)) , ifrm^#(false(), N, add(M, X)) -> c_8(rm^#(N, X)) , purge^#(add(N, X)) -> c_10(purge^#(rm(N, X)), rm^#(N, X)) } Weak Trs: { eq(0(), 0()) -> true() , eq(0(), s(X)) -> false() , eq(s(X), 0()) -> false() , eq(s(X), s(Y)) -> eq(X, Y) , rm(N, nil()) -> nil() , rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X)) , ifrm(true(), N, add(M, X)) -> rm(N, X) , ifrm(false(), N, add(M, X)) -> add(M, rm(N, X)) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..