```* Step 1: Bounds WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3))
U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3))
U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3))
U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3))
U21(mark(X1),X2) -> mark(U21(X1,X2))
U21(ok(X1),ok(X2)) -> ok(U21(X1,X2))
U22(mark(X1),X2) -> mark(U22(X1,X2))
U22(ok(X1),ok(X2)) -> ok(U22(X1,X2))
U31(mark(X1),X2) -> mark(U31(X1,X2))
U31(ok(X1),ok(X2)) -> ok(U31(X1,X2))
U32(mark(X1),X2) -> mark(U32(X1,X2))
U32(ok(X1),ok(X2)) -> ok(U32(X1,X2))
U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3))
U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3))
U42(mark(X1),X2,X3) -> mark(U42(X1,X2,X3))
U42(ok(X1),ok(X2),ok(X3)) -> ok(U42(X1,X2,X3))
U51(mark(X1),X2) -> mark(U51(X1,X2))
U51(ok(X1),ok(X2)) -> ok(U51(X1,X2))
U52(mark(X1),X2) -> mark(U52(X1,X2))
U52(ok(X1),ok(X2)) -> ok(U52(X1,X2))
U61(mark(X1),X2,X3,X4) -> mark(U61(X1,X2,X3,X4))
U61(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U61(X1,X2,X3,X4))
U62(mark(X1),X2,X3,X4) -> mark(U62(X1,X2,X3,X4))
U62(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U62(X1,X2,X3,X4))
U63(mark(X1),X2,X3,X4) -> mark(U63(X1,X2,X3,X4))
U63(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U63(X1,X2,X3,X4))
U64(mark(X1),X2) -> mark(U64(X1,X2))
U64(ok(X1),ok(X2)) -> ok(U64(X1,X2))
U71(mark(X1),X2) -> mark(U71(X1,X2))
U71(ok(X1),ok(X2)) -> ok(U71(X1,X2))
U72(mark(X1),X2) -> mark(U72(X1,X2))
U72(ok(X1),ok(X2)) -> ok(U72(X1,X2))
U81(mark(X1),X2,X3) -> mark(U81(X1,X2,X3))
U81(ok(X1),ok(X2),ok(X3)) -> ok(U81(X1,X2,X3))
U82(mark(X1),X2,X3) -> mark(U82(X1,X2,X3))
U82(ok(X1),ok(X2),ok(X3)) -> ok(U82(X1,X2,X3))
afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2))
afterNth(mark(X1),X2) -> mark(afterNth(X1,X2))
afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2))
cons(mark(X1),X2) -> mark(cons(X1,X2))
cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
fst(mark(X)) -> mark(fst(X))
fst(ok(X)) -> ok(fst(X))
natsFrom(mark(X)) -> mark(natsFrom(X))
natsFrom(ok(X)) -> ok(natsFrom(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(nil()) -> ok(nil())
proper(tt()) -> ok(tt())
s(mark(X)) -> mark(s(X))
s(ok(X)) -> ok(s(X))
sel(X1,mark(X2)) -> mark(sel(X1,X2))
sel(mark(X1),X2) -> mark(sel(X1,X2))
sel(ok(X1),ok(X2)) -> ok(sel(X1,X2))
snd(mark(X)) -> mark(snd(X))
snd(ok(X)) -> ok(snd(X))
splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2))
splitAt(mark(X1),X2) -> mark(splitAt(X1,X2))
splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2))
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))
- Signature:
{U11/3,U12/3,U21/2,U22/2,U31/2,U32/2,U41/3,U42/3,U51/2,U52/2,U61/4,U62/4,U63/4,U64/2,U71/2,U72/2,U81/3,U82/3
,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {U11,U12,U21,U22,U31,U32,U41,U42,U51,U52,U61,U62,U63,U64
,top} and constructors {0,active,mark,nil,ok,tt}
+ Applied Processor:
Bounds {initialAutomaton = minimal, enrichment = match}
+ Details:
The problem is match-bounded by 2.
The enriched problem is compatible with follwoing automaton.
0_0() -> 2
0_1() -> 3
U11_0(2,2,2) -> 1
U11_1(2,2,2) -> 3
U12_0(2,2,2) -> 1
U12_1(2,2,2) -> 3
U21_0(2,2) -> 1
U21_1(2,2) -> 3
U22_0(2,2) -> 1
U22_1(2,2) -> 3
U31_0(2,2) -> 1
U31_1(2,2) -> 3
U32_0(2,2) -> 1
U32_1(2,2) -> 3
U41_0(2,2,2) -> 1
U41_1(2,2,2) -> 3
U42_0(2,2,2) -> 1
U42_1(2,2,2) -> 3
U51_0(2,2) -> 1
U51_1(2,2) -> 3
U52_0(2,2) -> 1
U52_1(2,2) -> 3
U61_0(2,2,2,2) -> 1
U61_1(2,2,2,2) -> 3
U62_0(2,2,2,2) -> 1
U62_1(2,2,2,2) -> 3
U63_0(2,2,2,2) -> 1
U63_1(2,2,2,2) -> 3
U64_0(2,2) -> 1
U64_1(2,2) -> 3
U71_0(2,2) -> 1
U71_1(2,2) -> 3
U72_0(2,2) -> 1
U72_1(2,2) -> 3
U81_0(2,2,2) -> 1
U81_1(2,2,2) -> 3
U82_0(2,2,2) -> 1
U82_1(2,2,2) -> 3
active_0(2) -> 2
active_1(2) -> 4
active_2(3) -> 5
afterNth_0(2,2) -> 1
afterNth_1(2,2) -> 3
cons_0(2,2) -> 1
cons_1(2,2) -> 3
fst_0(2) -> 1
fst_1(2) -> 3
mark_0(2) -> 2
mark_1(3) -> 1
mark_1(3) -> 3
natsFrom_0(2) -> 1
natsFrom_1(2) -> 3
nil_0() -> 2
nil_1() -> 3
ok_0(2) -> 2
ok_1(3) -> 1
ok_1(3) -> 3
ok_1(3) -> 4
pair_0(2,2) -> 1
pair_1(2,2) -> 3
proper_0(2) -> 1
proper_1(2) -> 4
s_0(2) -> 1
s_1(2) -> 3
sel_0(2,2) -> 1
sel_1(2,2) -> 3
snd_0(2) -> 1
snd_1(2) -> 3
splitAt_0(2,2) -> 1
splitAt_1(2,2) -> 3
tail_0(2) -> 1
tail_1(2) -> 3
take_0(2,2) -> 1
take_1(2,2) -> 3
top_0(2) -> 1
top_1(4) -> 1
top_2(5) -> 1
tt_0() -> 2
tt_1() -> 3
* Step 2: EmptyProcessor WORST_CASE(?,O(1))
+ Considered Problem:
- Weak TRS:
U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3))
U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3))
U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3))
U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3))
U21(mark(X1),X2) -> mark(U21(X1,X2))
U21(ok(X1),ok(X2)) -> ok(U21(X1,X2))
U22(mark(X1),X2) -> mark(U22(X1,X2))
U22(ok(X1),ok(X2)) -> ok(U22(X1,X2))
U31(mark(X1),X2) -> mark(U31(X1,X2))
U31(ok(X1),ok(X2)) -> ok(U31(X1,X2))
U32(mark(X1),X2) -> mark(U32(X1,X2))
U32(ok(X1),ok(X2)) -> ok(U32(X1,X2))
U41(mark(X1),X2,X3) -> mark(U41(X1,X2,X3))
U41(ok(X1),ok(X2),ok(X3)) -> ok(U41(X1,X2,X3))
U42(mark(X1),X2,X3) -> mark(U42(X1,X2,X3))
U42(ok(X1),ok(X2),ok(X3)) -> ok(U42(X1,X2,X3))
U51(mark(X1),X2) -> mark(U51(X1,X2))
U51(ok(X1),ok(X2)) -> ok(U51(X1,X2))
U52(mark(X1),X2) -> mark(U52(X1,X2))
U52(ok(X1),ok(X2)) -> ok(U52(X1,X2))
U61(mark(X1),X2,X3,X4) -> mark(U61(X1,X2,X3,X4))
U61(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U61(X1,X2,X3,X4))
U62(mark(X1),X2,X3,X4) -> mark(U62(X1,X2,X3,X4))
U62(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U62(X1,X2,X3,X4))
U63(mark(X1),X2,X3,X4) -> mark(U63(X1,X2,X3,X4))
U63(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U63(X1,X2,X3,X4))
U64(mark(X1),X2) -> mark(U64(X1,X2))
U64(ok(X1),ok(X2)) -> ok(U64(X1,X2))
U71(mark(X1),X2) -> mark(U71(X1,X2))
U71(ok(X1),ok(X2)) -> ok(U71(X1,X2))
U72(mark(X1),X2) -> mark(U72(X1,X2))
U72(ok(X1),ok(X2)) -> ok(U72(X1,X2))
U81(mark(X1),X2,X3) -> mark(U81(X1,X2,X3))
U81(ok(X1),ok(X2),ok(X3)) -> ok(U81(X1,X2,X3))
U82(mark(X1),X2,X3) -> mark(U82(X1,X2,X3))
U82(ok(X1),ok(X2),ok(X3)) -> ok(U82(X1,X2,X3))
afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2))
afterNth(mark(X1),X2) -> mark(afterNth(X1,X2))
afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2))
cons(mark(X1),X2) -> mark(cons(X1,X2))
cons(ok(X1),ok(X2)) -> ok(cons(X1,X2))
fst(mark(X)) -> mark(fst(X))
fst(ok(X)) -> ok(fst(X))
natsFrom(mark(X)) -> mark(natsFrom(X))
natsFrom(ok(X)) -> ok(natsFrom(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(nil()) -> ok(nil())
proper(tt()) -> ok(tt())
s(mark(X)) -> mark(s(X))
s(ok(X)) -> ok(s(X))
sel(X1,mark(X2)) -> mark(sel(X1,X2))
sel(mark(X1),X2) -> mark(sel(X1,X2))
sel(ok(X1),ok(X2)) -> ok(sel(X1,X2))
snd(mark(X)) -> mark(snd(X))
snd(ok(X)) -> ok(snd(X))
splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2))
splitAt(mark(X1),X2) -> mark(splitAt(X1,X2))
splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2))
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))
- Signature:
{U11/3,U12/3,U21/2,U22/2,U31/2,U32/2,U41/3,U42/3,U51/2,U52/2,U61/4,U62/4,U63/4,U64/2,U71/2,U72/2,U81/3,U82/3