* Step 1: Sum WORST_CASE(NON_POLY,?) + Considered Problem: - Strict TRS: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil()) -> nil() remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil()) -> nil() - Signature: {purge/1,remove/2} / {./2,=/2,if/3,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {purge,remove} and constructors {.,=,if,nil} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DecreasingLoops WORST_CASE(NON_POLY,?) + Considered Problem: - Strict TRS: purge(.(x,y)) -> .(x,purge(remove(x,y))) purge(nil()) -> nil() remove(x,.(y,z)) -> if(=(x,y),remove(x,z),.(y,remove(x,z))) remove(x,nil()) -> nil() - Signature: {purge/1,remove/2} / {./2,=/2,if/3,nil/0} - Obligation: innermost runtime complexity wrt. defined symbols {purge,remove} and constructors {.,=,if,nil} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: remove(x,z){z -> .(y,z)} = remove(x,.(y,z)) ->^+ if(=(x,y),remove(x,z),.(y,remove(x,z))) = C[remove(x,z) = remove(x,z){}] remove(x,z){z -> .(y,z)} = remove(x,.(y,z)) ->^+ if(=(x,y),remove(x,z),.(y,remove(x,z))) = C[remove(x,z) = remove(x,z){}] WORST_CASE(NON_POLY,?)