* Step 1: Sum WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            *(x,0()) -> 0()
            *(x,s(y)) -> +(*(x,y),x)
            +(x,0()) -> x
            +(x,s(y)) -> s(+(x,y))
            -(x,0()) -> x
            -(s(x),s(y)) -> -(x,y)
            fact(x) -> iffact(x,ge(x,s(s(0()))))
            ge(x,0()) -> true()
            ge(0(),s(y)) -> false()
            ge(s(x),s(y)) -> ge(x,y)
            iffact(x,false()) -> s(0())
            iffact(x,true()) -> *(x,fact(-(x,s(0()))))
        - Signature:
            {*/2,+/2,-/2,fact/1,ge/2,iffact/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {*,+,-,fact,ge,iffact} 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:
            *(x,0()) -> 0()
            *(x,s(y)) -> +(*(x,y),x)
            +(x,0()) -> x
            +(x,s(y)) -> s(+(x,y))
            -(x,0()) -> x
            -(s(x),s(y)) -> -(x,y)
            fact(x) -> iffact(x,ge(x,s(s(0()))))
            ge(x,0()) -> true()
            ge(0(),s(y)) -> false()
            ge(s(x),s(y)) -> ge(x,y)
            iffact(x,false()) -> s(0())
            iffact(x,true()) -> *(x,fact(-(x,s(0()))))
        - Signature:
            {*/2,+/2,-/2,fact/1,ge/2,iffact/2} / {0/0,false/0,s/1,true/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {*,+,-,fact,ge,iffact} and constructors {0,false,s,true}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          *(x,y){y -> s(y)} =
            *(x,s(y)) ->^+ +(*(x,y),x)
              = C[*(x,y) = *(x,y){}]

WORST_CASE(Omega(n^1),?)