* 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,?)