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