* Step 1: Sum WORST_CASE(NON_POLY,?)
+ Considered Problem:
- Strict TRS:
greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z)))
greaters(x,nil()) -> nil()
lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z))
lowers(x,nil()) -> nil()
qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y))))
qsort(nil()) -> nil()
- Signature:
{greaters/2,lowers/2,qsort/1} / {++/2,./2,<=/2,if/3,nil/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {greaters,lowers,qsort} and constructors {++,.,<=,if,nil}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(NON_POLY,?)
+ Considered Problem:
- Strict TRS:
greaters(x,.(y,z)) -> if(<=(y,x),greaters(x,z),.(y,greaters(x,z)))
greaters(x,nil()) -> nil()
lowers(x,.(y,z)) -> if(<=(y,x),.(y,lowers(x,z)),lowers(x,z))
lowers(x,nil()) -> nil()
qsort(.(x,y)) -> ++(qsort(lowers(x,y)),.(x,qsort(greaters(x,y))))
qsort(nil()) -> nil()
- Signature:
{greaters/2,lowers/2,qsort/1} / {++/2,./2,<=/2,if/3,nil/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {greaters,lowers,qsort} and constructors {++,.,<=,if,nil}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
greaters(x,z){z -> .(y,z)} =
greaters(x,.(y,z)) ->^+ if(<=(y,x),greaters(x,z),.(y,greaters(x,z)))
= C[greaters(x,z) = greaters(x,z){}]
greaters(x,z){z -> .(y,z)} =
greaters(x,.(y,z)) ->^+ if(<=(y,x),greaters(x,z),.(y,greaters(x,z)))
= C[greaters(x,z) = greaters(x,z){}]
WORST_CASE(NON_POLY,?)