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