* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
if(false(),x,b,y,z) -> loop(x,b,times(b,y),s(z))
if(true(),x,b,y,z) -> z
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
log(x,0()) -> baseError()
log(x,s(0())) -> baseError()
log(0(),s(s(b))) -> logZeroError()
log(s(x),s(s(b))) -> loop(s(x),s(s(b)),s(0()),0())
loop(x,s(s(b)),s(y),z) -> if(le(x,s(y)),x,s(s(b)),s(y),z)
plus(0(),y) -> y
plus(s(x),y) -> s(plus(x,y))
times(0(),y) -> 0()
times(s(x),y) -> plus(y,times(x,y))
- Signature:
{if/5,le/2,log/2,loop/4,plus/2,times/2} / {0/0,baseError/0,false/0,logZeroError/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {if,le,log,loop,plus,times} and constructors {0,baseError
,false,logZeroError,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
if(false(),x,b,y,z) -> loop(x,b,times(b,y),s(z))
if(true(),x,b,y,z) -> z
le(0(),y) -> true()
le(s(x),0()) -> false()
le(s(x),s(y)) -> le(x,y)
log(x,0()) -> baseError()
log(x,s(0())) -> baseError()
log(0(),s(s(b))) -> logZeroError()
log(s(x),s(s(b))) -> loop(s(x),s(s(b)),s(0()),0())
loop(x,s(s(b)),s(y),z) -> if(le(x,s(y)),x,s(s(b)),s(y),z)
plus(0(),y) -> y
plus(s(x),y) -> s(plus(x,y))
times(0(),y) -> 0()
times(s(x),y) -> plus(y,times(x,y))
- Signature:
{if/5,le/2,log/2,loop/4,plus/2,times/2} / {0/0,baseError/0,false/0,logZeroError/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {if,le,log,loop,plus,times} and constructors {0,baseError
,false,logZeroError,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),?)