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