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