* Step 1: Sum WORST_CASE(NON_POLY,?)
+ Considered Problem:
- Strict TRS:
fib(0()) -> s(0())
fib(s(0())) -> s(0())
fib(s(s(x))) -> if(true(),0(),s(s(x)),0(),0())
fibo(0()) -> fib(0())
fibo(s(0())) -> fib(s(0()))
fibo(s(s(x))) -> sum(fibo(s(x)),fibo(x))
if(false(),c,s(s(x)),a,b) -> sum(fibo(a),fibo(b))
if(true(),c,s(s(x)),a,b) -> if(lt(s(c),s(s(x))),s(c),s(s(x)),b,c)
lt(x,0()) -> false()
lt(0(),s(x)) -> true()
lt(s(x),s(y)) -> lt(x,y)
sum(x,0()) -> x
sum(x,s(y)) -> s(sum(x,y))
- Signature:
{fib/1,fibo/1,if/5,lt/2,sum/2} / {0/0,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {fib,fibo,if,lt,sum} and constructors {0,false,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(NON_POLY,?)
+ Considered Problem:
- Strict TRS:
fib(0()) -> s(0())
fib(s(0())) -> s(0())
fib(s(s(x))) -> if(true(),0(),s(s(x)),0(),0())
fibo(0()) -> fib(0())
fibo(s(0())) -> fib(s(0()))
fibo(s(s(x))) -> sum(fibo(s(x)),fibo(x))
if(false(),c,s(s(x)),a,b) -> sum(fibo(a),fibo(b))
if(true(),c,s(s(x)),a,b) -> if(lt(s(c),s(s(x))),s(c),s(s(x)),b,c)
lt(x,0()) -> false()
lt(0(),s(x)) -> true()
lt(s(x),s(y)) -> lt(x,y)
sum(x,0()) -> x
sum(x,s(y)) -> s(sum(x,y))
- Signature:
{fib/1,fibo/1,if/5,lt/2,sum/2} / {0/0,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {fib,fibo,if,lt,sum} and constructors {0,false,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
fibo(s(x)){x -> s(x)} =
fibo(s(s(x))) ->^+ sum(fibo(s(x)),fibo(x))
= C[fibo(s(x)) = fibo(s(x)){}]
fibo(x){x -> s(s(x))} =
fibo(s(s(x))) ->^+ sum(fibo(s(x)),fibo(x))
= C[fibo(x) = fibo(x){}]
WORST_CASE(NON_POLY,?)