MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { purge(nil()) -> nil() , purge(.(x, y)) -> .(x, purge(remove(x, y))) , remove(x, nil()) -> nil() , remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z))) } Obligation: innermost runtime complexity Answer: MAYBE We add following dependency tuples: Strict DPs: { purge^#(nil()) -> c_1() , purge^#(.(x, y)) -> c_2(purge^#(remove(x, y)), remove^#(x, y)) , remove^#(x, nil()) -> c_3() , remove^#(x, .(y, z)) -> c_4(remove^#(x, z), remove^#(x, z)) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { purge^#(nil()) -> c_1() , purge^#(.(x, y)) -> c_2(purge^#(remove(x, y)), remove^#(x, y)) , remove^#(x, nil()) -> c_3() , remove^#(x, .(y, z)) -> c_4(remove^#(x, z), remove^#(x, z)) } Weak Trs: { purge(nil()) -> nil() , purge(.(x, y)) -> .(x, purge(remove(x, y))) , remove(x, nil()) -> nil() , remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z))) } Obligation: innermost runtime complexity Answer: MAYBE We estimate the number of application of {1,3} by applications of Pre({1,3}) = {2,4}. Here rules are labeled as follows: DPs: { 1: purge^#(nil()) -> c_1() , 2: purge^#(.(x, y)) -> c_2(purge^#(remove(x, y)), remove^#(x, y)) , 3: remove^#(x, nil()) -> c_3() , 4: remove^#(x, .(y, z)) -> c_4(remove^#(x, z), remove^#(x, z)) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { purge^#(.(x, y)) -> c_2(purge^#(remove(x, y)), remove^#(x, y)) , remove^#(x, .(y, z)) -> c_4(remove^#(x, z), remove^#(x, z)) } Weak DPs: { purge^#(nil()) -> c_1() , remove^#(x, nil()) -> c_3() } Weak Trs: { purge(nil()) -> nil() , purge(.(x, y)) -> .(x, purge(remove(x, y))) , remove(x, nil()) -> nil() , remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z))) } 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. { purge^#(nil()) -> c_1() , remove^#(x, nil()) -> c_3() } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { purge^#(.(x, y)) -> c_2(purge^#(remove(x, y)), remove^#(x, y)) , remove^#(x, .(y, z)) -> c_4(remove^#(x, z), remove^#(x, z)) } Weak Trs: { purge(nil()) -> nil() , purge(.(x, y)) -> .(x, purge(remove(x, y))) , remove(x, nil()) -> nil() , remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z))) } Obligation: innermost runtime complexity Answer: MAYBE We replace rewrite rules by usable rules: Weak Usable Rules: { remove(x, nil()) -> nil() , remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { purge^#(.(x, y)) -> c_2(purge^#(remove(x, y)), remove^#(x, y)) , remove^#(x, .(y, z)) -> c_4(remove^#(x, z), remove^#(x, z)) } Weak Trs: { remove(x, nil()) -> nil() , remove(x, .(y, z)) -> if(=(x, y), remove(x, z), .(y, remove(x, z))) } Obligation: innermost runtime complexity Answer: MAYBE The input cannot be shown compatible Arrrr..