* Step 1: Sum WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
active(cons(X1,X2)) -> cons(active(X1),X2)
active(incr(X)) -> incr(active(X))
active(incr(cons(X,XS))) -> mark(cons(s(X),incr(XS)))
active(oddNs()) -> mark(incr(pairNs()))
active(pair(X1,X2)) -> pair(X1,active(X2))
active(pair(X1,X2)) -> pair(active(X1),X2)
active(pairNs()) -> mark(cons(0(),incr(oddNs())))
active(repItems(X)) -> repItems(active(X))
active(repItems(cons(X,XS))) -> mark(cons(X,cons(X,repItems(XS))))
active(repItems(nil())) -> mark(nil())
active(s(X)) -> s(active(X))
active(tail(X)) -> tail(active(X))
active(tail(cons(X,XS))) -> mark(XS)
active(take(X1,X2)) -> take(X1,active(X2))
active(take(X1,X2)) -> take(active(X1),X2)
active(take(0(),XS)) -> mark(nil())
active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS)))
active(zip(X,nil())) -> mark(nil())
active(zip(X1,X2)) -> zip(X1,active(X2))
active(zip(X1,X2)) -> zip(active(X1),X2)
active(zip(cons(X,XS),cons(Y,YS))) -> mark(cons(pair(X,Y),zip(XS,YS)))
active(zip(nil(),XS)) -> mark(nil())
cons(mark(X1),X2) -> mark(cons(X1,X2))
cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
incr(mark(X)) -> mark(incr(X))
incr(ok(X)) -> ok(incr(X))
pair(X1,mark(X2)) -> mark(pair(X1,X2))
pair(mark(X1),X2) -> mark(pair(X1,X2))
pair(ok(X1),ok(X2)) -> ok(pair(X1,X2))
proper(0()) -> ok(0())
proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
proper(incr(X)) -> incr(proper(X))
proper(nil()) -> ok(nil())
proper(oddNs()) -> ok(oddNs())
proper(pair(X1,X2)) -> pair(proper(X1),proper(X2))
proper(pairNs()) -> ok(pairNs())
proper(repItems(X)) -> repItems(proper(X))
proper(s(X)) -> s(proper(X))
proper(tail(X)) -> tail(proper(X))
proper(take(X1,X2)) -> take(proper(X1),proper(X2))
proper(zip(X1,X2)) -> zip(proper(X1),proper(X2))
repItems(mark(X)) -> mark(repItems(X))
repItems(ok(X)) -> ok(repItems(X))
s(mark(X)) -> mark(s(X))
s(ok(X)) -> ok(s(X))
tail(mark(X)) -> mark(tail(X))
tail(ok(X)) -> ok(tail(X))
take(X1,mark(X2)) -> mark(take(X1,X2))
take(mark(X1),X2) -> mark(take(X1,X2))
take(ok(X1),ok(X2)) -> ok(take(X1,X2))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
zip(X1,mark(X2)) -> mark(zip(X1,X2))
zip(mark(X1),X2) -> mark(zip(X1,X2))
zip(ok(X1),ok(X2)) -> ok(zip(X1,X2))
- Signature:
{active/1,cons/2,incr/1,pair/2,proper/1,repItems/1,s/1,tail/1,take/2,top/1,zip/2} / {0/0,mark/1,nil/0
,oddNs/0,ok/1,pairNs/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {active,cons,incr,pair,proper,repItems,s,tail,take,top
,zip} and constructors {0,mark,nil,oddNs,ok,pairNs}
+ Applied Processor:
Sum {left = someStrategy, right = someStrategy}
+ Details:
()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
+ Considered Problem:
- Strict TRS:
active(cons(X1,X2)) -> cons(active(X1),X2)
active(incr(X)) -> incr(active(X))
active(incr(cons(X,XS))) -> mark(cons(s(X),incr(XS)))
active(oddNs()) -> mark(incr(pairNs()))
active(pair(X1,X2)) -> pair(X1,active(X2))
active(pair(X1,X2)) -> pair(active(X1),X2)
active(pairNs()) -> mark(cons(0(),incr(oddNs())))
active(repItems(X)) -> repItems(active(X))
active(repItems(cons(X,XS))) -> mark(cons(X,cons(X,repItems(XS))))
active(repItems(nil())) -> mark(nil())
active(s(X)) -> s(active(X))
active(tail(X)) -> tail(active(X))
active(tail(cons(X,XS))) -> mark(XS)
active(take(X1,X2)) -> take(X1,active(X2))
active(take(X1,X2)) -> take(active(X1),X2)
active(take(0(),XS)) -> mark(nil())
active(take(s(N),cons(X,XS))) -> mark(cons(X,take(N,XS)))
active(zip(X,nil())) -> mark(nil())
active(zip(X1,X2)) -> zip(X1,active(X2))
active(zip(X1,X2)) -> zip(active(X1),X2)
active(zip(cons(X,XS),cons(Y,YS))) -> mark(cons(pair(X,Y),zip(XS,YS)))
active(zip(nil(),XS)) -> mark(nil())
cons(mark(X1),X2) -> mark(cons(X1,X2))
cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
incr(mark(X)) -> mark(incr(X))
incr(ok(X)) -> ok(incr(X))
pair(X1,mark(X2)) -> mark(pair(X1,X2))
pair(mark(X1),X2) -> mark(pair(X1,X2))
pair(ok(X1),ok(X2)) -> ok(pair(X1,X2))
proper(0()) -> ok(0())
proper(cons(X1,X2)) -> cons(proper(X1),proper(X2))
proper(incr(X)) -> incr(proper(X))
proper(nil()) -> ok(nil())
proper(oddNs()) -> ok(oddNs())
proper(pair(X1,X2)) -> pair(proper(X1),proper(X2))
proper(pairNs()) -> ok(pairNs())
proper(repItems(X)) -> repItems(proper(X))
proper(s(X)) -> s(proper(X))
proper(tail(X)) -> tail(proper(X))
proper(take(X1,X2)) -> take(proper(X1),proper(X2))
proper(zip(X1,X2)) -> zip(proper(X1),proper(X2))
repItems(mark(X)) -> mark(repItems(X))
repItems(ok(X)) -> ok(repItems(X))
s(mark(X)) -> mark(s(X))
s(ok(X)) -> ok(s(X))
tail(mark(X)) -> mark(tail(X))
tail(ok(X)) -> ok(tail(X))
take(X1,mark(X2)) -> mark(take(X1,X2))
take(mark(X1),X2) -> mark(take(X1,X2))
take(ok(X1),ok(X2)) -> ok(take(X1,X2))
top(mark(X)) -> top(proper(X))
top(ok(X)) -> top(active(X))
zip(X1,mark(X2)) -> mark(zip(X1,X2))
zip(mark(X1),X2) -> mark(zip(X1,X2))
zip(ok(X1),ok(X2)) -> ok(zip(X1,X2))
- Signature:
{active/1,cons/2,incr/1,pair/2,proper/1,repItems/1,s/1,tail/1,take/2,top/1,zip/2} / {0/0,mark/1,nil/0
,oddNs/0,ok/1,pairNs/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {active,cons,incr,pair,proper,repItems,s,tail,take,top
,zip} and constructors {0,mark,nil,oddNs,ok,pairNs}
+ Applied Processor:
DecreasingLoops {bound = AnyLoop, narrow = 10}
+ Details:
The system has following decreasing Loops:
cons(x,y){x -> mark(x)} =
cons(mark(x),y) ->^+ mark(cons(x,y))
= C[cons(x,y) = cons(x,y){}]
WORST_CASE(Omega(n^1),?)