* Step 1: Sum WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            add(0(),X) -> X
            add(s(X),Y) -> s(add(X,Y))
            fact(X) -> if(zero(X),s(0()),prod(X,fact(p(X))))
            if(false(),X,Y) -> Y
            if(true(),X,Y) -> X
            p(s(X)) -> X
            prod(0(),X) -> 0()
            prod(s(X),Y) -> add(Y,prod(X,Y))
            zero(0()) -> true()
            zero(s(X)) -> false()
        - Signature:
            {add/2,fact/1,if/3,p/1,prod/2,zero/1} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add,fact,if,p,prod,zero} and constructors {0,false,s
            ,true}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            add(0(),X) -> X
            add(s(X),Y) -> s(add(X,Y))
            fact(X) -> if(zero(X),s(0()),prod(X,fact(p(X))))
            if(false(),X,Y) -> Y
            if(true(),X,Y) -> X
            p(s(X)) -> X
            prod(0(),X) -> 0()
            prod(s(X),Y) -> add(Y,prod(X,Y))
            zero(0()) -> true()
            zero(s(X)) -> false()
        - Signature:
            {add/2,fact/1,if/3,p/1,prod/2,zero/1} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {add,fact,if,p,prod,zero} and constructors {0,false,s
            ,true}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          add(x,y){x -> s(x)} =
            add(s(x),y) ->^+ s(add(x,y))
              = C[add(x,y) = add(x,y){}]

WORST_CASE(Omega(n^1),?)