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