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