* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
ack(0(),x) -> plus(x,s(0()))
ack(s(x),0()) -> ack(x,s(0()))
ack(s(x),s(y)) -> ack(x,ack(s(x),y))
double(x) -> permute(x,x,a())
isZero(0()) -> true()
isZero(s(x)) -> false()
p(0()) -> 0()
p(s(x)) -> x
permute(x,y,a()) -> permute(isZero(x),x,b())
permute(y,x,c()) -> s(s(permute(x,y,a())))
permute(false(),x,b()) -> permute(ack(x,x),p(x),c())
permute(true(),x,b()) -> 0()
plus(x,0()) -> x
plus(x,s(0())) -> s(x)
plus(x,s(s(y))) -> s(plus(s(x),y))
plus(0(),y) -> y
plus(s(x),y) -> plus(x,s(y))
- Signature:
{ack/2,double/1,isZero/1,p/1,permute/3,plus/2} / {0/0,a/0,b/0,c/0,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {ack,double,isZero,p,permute,plus} and constructors {0,a,b
,c,false,s,true}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
ack(0(),x) -> plus(x,s(0()))
ack(s(x),0()) -> ack(x,s(0()))
ack(s(x),s(y)) -> ack(x,ack(s(x),y))
double(x) -> permute(x,x,a())
isZero(0()) -> true()
isZero(s(x)) -> false()
p(0()) -> 0()
p(s(x)) -> x
permute(x,y,a()) -> permute(isZero(x),x,b())
permute(y,x,c()) -> s(s(permute(x,y,a())))
permute(false(),x,b()) -> permute(ack(x,x),p(x),c())
permute(true(),x,b()) -> 0()
plus(x,0()) -> x
plus(x,s(0())) -> s(x)
plus(x,s(s(y))) -> s(plus(s(x),y))
plus(0(),y) -> y
plus(s(x),y) -> plus(x,s(y))
- Signature:
{ack/2,double/1,isZero/1,p/1,permute/3,plus/2} / {0/0,a/0,b/0,c/0,false/0,s/1,true/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {ack,double,isZero,p,permute,plus} and constructors {0,a,b
,c,false,s,true}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
ack(s(x),y){y -> s(y)} =
ack(s(x),s(y)) ->^+ ack(x,ack(s(x),y))
= C[ack(s(x),y) = ack(s(x),y){}]
WORST_CASE(Omega(n^1),?)