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