* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
half(0()) -> 0()
half(s(0())) -> 0()
half(s(s(x))) -> s(half(x))
help(x,y) -> ifb(lt(y,x),x,y)
ifa(false(),x) -> logZeroError()
ifa(true(),x) -> help(x,1())
ifb(false(),x,y) -> y
ifb(true(),x,y) -> help(half(x),s(y))
logarithm(x) -> ifa(lt(0(),x),x)
lt(x,0()) -> false()
lt(0(),s(x)) -> true()
lt(s(x),s(y)) -> lt(x,y)
- Signature:
{half/1,help/2,ifa/2,ifb/3,logarithm/1,lt/2} / {0/0,1/0,false/0,logZeroError/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {half,help,ifa,ifb,logarithm,lt} and constructors {0,1
,false,logZeroError,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
half(0()) -> 0()
half(s(0())) -> 0()
half(s(s(x))) -> s(half(x))
help(x,y) -> ifb(lt(y,x),x,y)
ifa(false(),x) -> logZeroError()
ifa(true(),x) -> help(x,1())
ifb(false(),x,y) -> y
ifb(true(),x,y) -> help(half(x),s(y))
logarithm(x) -> ifa(lt(0(),x),x)
lt(x,0()) -> false()
lt(0(),s(x)) -> true()
lt(s(x),s(y)) -> lt(x,y)
- Signature:
{half/1,help/2,ifa/2,ifb/3,logarithm/1,lt/2} / {0/0,1/0,false/0,logZeroError/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {half,help,ifa,ifb,logarithm,lt} and constructors {0,1
,false,logZeroError,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
half(x){x -> s(s(x))} =
half(s(s(x))) ->^+ s(half(x))
= C[half(x) = half(x){}]
WORST_CASE(Omega(n^1),?)