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