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