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