```* Step 1: Bounds WORST_CASE(?,O(n^1))
+ Considered Problem:
- Strict TRS:
U101(mark(X1),X2,X3) -> mark(U101(X1,X2,X3))
U101(ok(X1),ok(X2),ok(X3)) -> ok(U101(X1,X2,X3))
U102(mark(X1),X2) -> mark(U102(X1,X2))
U102(ok(X1),ok(X2)) -> ok(U102(X1,X2))
U103(mark(X)) -> mark(U103(X))
U103(ok(X)) -> ok(U103(X))
U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3))
U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3))
U111(mark(X1),X2) -> mark(U111(X1,X2))
U111(ok(X1),ok(X2)) -> ok(U111(X1,X2))
U112(mark(X)) -> mark(U112(X))
U112(ok(X)) -> ok(U112(X))
U121(mark(X1),X2) -> mark(U121(X1,X2))
U121(ok(X1),ok(X2)) -> ok(U121(X1,X2))
U122(mark(X)) -> mark(U122(X))
U122(ok(X)) -> ok(U122(X))
U131(mark(X1),X2,X3) -> mark(U131(X1,X2,X3))
U131(ok(X1),ok(X2),ok(X3)) -> ok(U131(X1,X2,X3))
U132(mark(X1),X2) -> mark(U132(X1,X2))
U132(ok(X1),ok(X2)) -> ok(U132(X1,X2))
U133(mark(X)) -> mark(U133(X))
U133(ok(X)) -> ok(U133(X))
U141(mark(X1),X2,X3) -> mark(U141(X1,X2,X3))
U141(ok(X1),ok(X2),ok(X3)) -> ok(U141(X1,X2,X3))
U142(mark(X1),X2) -> mark(U142(X1,X2))
U142(ok(X1),ok(X2)) -> ok(U142(X1,X2))
U143(mark(X)) -> mark(U143(X))
U143(ok(X)) -> ok(U143(X))
U151(mark(X1),X2,X3) -> mark(U151(X1,X2,X3))
U151(ok(X1),ok(X2),ok(X3)) -> ok(U151(X1,X2,X3))
U152(mark(X1),X2) -> mark(U152(X1,X2))
U152(ok(X1),ok(X2)) -> ok(U152(X1,X2))
U153(mark(X)) -> mark(U153(X))
U153(ok(X)) -> ok(U153(X))
U161(mark(X1),X2) -> mark(U161(X1,X2))
U161(ok(X1),ok(X2)) -> ok(U161(X1,X2))
U171(mark(X1),X2,X3) -> mark(U171(X1,X2,X3))
U171(ok(X1),ok(X2),ok(X3)) -> ok(U171(X1,X2,X3))
U181(mark(X1),X2) -> mark(U181(X1,X2))
U181(ok(X1),ok(X2)) -> ok(U181(X1,X2))
U191(mark(X1),X2) -> mark(U191(X1,X2))
U191(ok(X1),ok(X2)) -> ok(U191(X1,X2))
U201(mark(X1),X2,X3,X4) -> mark(U201(X1,X2,X3,X4))
U201(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U201(X1,X2,X3,X4))
U202(mark(X1),X2) -> mark(U202(X1,X2))
U202(ok(X1),ok(X2)) -> ok(U202(X1,X2))
U21(mark(X1),X2) -> mark(U21(X1,X2))
U21(ok(X1),ok(X2)) -> ok(U21(X1,X2))
U211(mark(X1),X2) -> mark(U211(X1,X2))
U211(ok(X1),ok(X2)) -> ok(U211(X1,X2))
U221(mark(X1),X2,X3) -> mark(U221(X1,X2,X3))
U221(ok(X1),ok(X2),ok(X3)) -> ok(U221(X1,X2,X3))
U31(mark(X1),X2) -> mark(U31(X1,X2))
U31(ok(X1),ok(X2)) -> ok(U31(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) -> mark(U42(X1,X2))
U42(ok(X1),ok(X2)) -> ok(U42(X1,X2))
U43(mark(X)) -> mark(U43(X))
U43(ok(X)) -> ok(U43(X))
U51(mark(X1),X2,X3) -> mark(U51(X1,X2,X3))
U51(ok(X1),ok(X2),ok(X3)) -> ok(U51(X1,X2,X3))
U52(mark(X1),X2) -> mark(U52(X1,X2))
U52(ok(X1),ok(X2)) -> ok(U52(X1,X2))
U53(mark(X)) -> mark(U53(X))
U53(ok(X)) -> ok(U53(X))
U61(mark(X1),X2) -> mark(U61(X1,X2))
U61(ok(X1),ok(X2)) -> ok(U61(X1,X2))
U62(mark(X)) -> mark(U62(X))
U62(ok(X)) -> ok(U62(X))
U71(mark(X1),X2) -> mark(U71(X1,X2))
U71(ok(X1),ok(X2)) -> ok(U71(X1,X2))
U72(mark(X)) -> mark(U72(X))
U72(ok(X)) -> ok(U72(X))
U81(mark(X1),X2) -> mark(U81(X1,X2))
U81(ok(X1),ok(X2)) -> ok(U81(X1,X2))
U82(mark(X)) -> mark(U82(X))
U82(ok(X)) -> ok(U82(X))
U91(mark(X1),X2) -> mark(U91(X1,X2))
U91(ok(X1),ok(X2)) -> ok(U91(X1,X2))
U92(mark(X)) -> mark(U92(X))
U92(ok(X)) -> ok(U92(X))
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))
and(mark(X1),X2) -> mark(and(X1,X2))
and(ok(X1),ok(X2)) -> ok(and(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))
isLNat(ok(X)) -> ok(isLNat(X))
isLNatKind(ok(X)) -> ok(isLNatKind(X))
isNatural(ok(X)) -> ok(isNatural(X))
isNaturalKind(ok(X)) -> ok(isNaturalKind(X))
isPLNat(ok(X)) -> ok(isPLNat(X))
isPLNatKind(ok(X)) -> ok(isPLNatKind(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:
{U101/3,U102/2,U103/1,U11/3,U111/2,U112/1,U121/2,U122/1,U131/3,U132/2,U133/1,U141/3,U142/2,U143/1,U151/3
,U152/2,U153/1,U161/2,U171/3,U181/2,U191/2,U201/4,U202/2,U21/2,U211/2,U221/3,U31/2,U41/3,U42/2,U43/1,U51/3
,isLNatKind/1,isNatural/1,isNaturalKind/1,isPLNat/1,isPLNatKind/1,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1
,splitAt/2,tail/1,take/2,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {U101,U102,U103,U11,U111,U112,U121,U122,U131,U132,U133
,U141,U142,U143,U151,U152,U153,U161,U171,U181,U191,U201,U202,U21,U211,U221,U31,U41,U42,U43,U51,U52,U53,U61
,isPLNatKind,natsFrom,pair,proper,s,sel,snd,splitAt,tail,take,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
U101_0(2,2,2) -> 1
U101_1(2,2,2) -> 3
U102_0(2,2) -> 1
U102_1(2,2) -> 3
U103_0(2) -> 1
U103_1(2) -> 3
U11_0(2,2,2) -> 1
U11_1(2,2,2) -> 3
U111_0(2,2) -> 1
U111_1(2,2) -> 3
U112_0(2) -> 1
U112_1(2) -> 3
U121_0(2,2) -> 1
U121_1(2,2) -> 3
U122_0(2) -> 1
U122_1(2) -> 3
U131_0(2,2,2) -> 1
U131_1(2,2,2) -> 3
U132_0(2,2) -> 1
U132_1(2,2) -> 3
U133_0(2) -> 1
U133_1(2) -> 3
U141_0(2,2,2) -> 1
U141_1(2,2,2) -> 3
U142_0(2,2) -> 1
U142_1(2,2) -> 3
U143_0(2) -> 1
U143_1(2) -> 3
U151_0(2,2,2) -> 1
U151_1(2,2,2) -> 3
U152_0(2,2) -> 1
U152_1(2,2) -> 3
U153_0(2) -> 1
U153_1(2) -> 3
U161_0(2,2) -> 1
U161_1(2,2) -> 3
U171_0(2,2,2) -> 1
U171_1(2,2,2) -> 3
U181_0(2,2) -> 1
U181_1(2,2) -> 3
U191_0(2,2) -> 1
U191_1(2,2) -> 3
U201_0(2,2,2,2) -> 1
U201_1(2,2,2,2) -> 3
U202_0(2,2) -> 1
U202_1(2,2) -> 3
U21_0(2,2) -> 1
U21_1(2,2) -> 3
U211_0(2,2) -> 1
U211_1(2,2) -> 3
U221_0(2,2,2) -> 1
U221_1(2,2,2) -> 3
U31_0(2,2) -> 1
U31_1(2,2) -> 3
U41_0(2,2,2) -> 1
U41_1(2,2,2) -> 3
U42_0(2,2) -> 1
U42_1(2,2) -> 3
U43_0(2) -> 1
U43_1(2) -> 3
U51_0(2,2,2) -> 1
U51_1(2,2,2) -> 3
U52_0(2,2) -> 1
U52_1(2,2) -> 3
U53_0(2) -> 1
U53_1(2) -> 3
U61_0(2,2) -> 1
U61_1(2,2) -> 3
U62_0(2) -> 1
U62_1(2) -> 3
U71_0(2,2) -> 1
U71_1(2,2) -> 3
U72_0(2) -> 1
U72_1(2) -> 3
U81_0(2,2) -> 1
U81_1(2,2) -> 3
U82_0(2) -> 1
U82_1(2) -> 3
U91_0(2,2) -> 1
U91_1(2,2) -> 3
U92_0(2) -> 1
U92_1(2) -> 3
active_0(2) -> 2
active_1(2) -> 4
active_2(3) -> 5
afterNth_0(2,2) -> 1
afterNth_1(2,2) -> 3
and_0(2,2) -> 1
and_1(2,2) -> 3
cons_0(2,2) -> 1
cons_1(2,2) -> 3
fst_0(2) -> 1
fst_1(2) -> 3
isLNat_0(2) -> 1
isLNat_1(2) -> 3
isLNatKind_0(2) -> 1
isLNatKind_1(2) -> 3
isNatural_0(2) -> 1
isNatural_1(2) -> 3
isNaturalKind_0(2) -> 1
isNaturalKind_1(2) -> 3
isPLNat_0(2) -> 1
isPLNat_1(2) -> 3
isPLNatKind_0(2) -> 1
isPLNatKind_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:
U101(mark(X1),X2,X3) -> mark(U101(X1,X2,X3))
U101(ok(X1),ok(X2),ok(X3)) -> ok(U101(X1,X2,X3))
U102(mark(X1),X2) -> mark(U102(X1,X2))
U102(ok(X1),ok(X2)) -> ok(U102(X1,X2))
U103(mark(X)) -> mark(U103(X))
U103(ok(X)) -> ok(U103(X))
U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3))
U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3))
U111(mark(X1),X2) -> mark(U111(X1,X2))
U111(ok(X1),ok(X2)) -> ok(U111(X1,X2))
U112(mark(X)) -> mark(U112(X))
U112(ok(X)) -> ok(U112(X))
U121(mark(X1),X2) -> mark(U121(X1,X2))
U121(ok(X1),ok(X2)) -> ok(U121(X1,X2))
U122(mark(X)) -> mark(U122(X))
U122(ok(X)) -> ok(U122(X))
U131(mark(X1),X2,X3) -> mark(U131(X1,X2,X3))
U131(ok(X1),ok(X2),ok(X3)) -> ok(U131(X1,X2,X3))
U132(mark(X1),X2) -> mark(U132(X1,X2))
U132(ok(X1),ok(X2)) -> ok(U132(X1,X2))
U133(mark(X)) -> mark(U133(X))
U133(ok(X)) -> ok(U133(X))
U141(mark(X1),X2,X3) -> mark(U141(X1,X2,X3))
U141(ok(X1),ok(X2),ok(X3)) -> ok(U141(X1,X2,X3))
U142(mark(X1),X2) -> mark(U142(X1,X2))
U142(ok(X1),ok(X2)) -> ok(U142(X1,X2))
U143(mark(X)) -> mark(U143(X))
U143(ok(X)) -> ok(U143(X))
U151(mark(X1),X2,X3) -> mark(U151(X1,X2,X3))
U151(ok(X1),ok(X2),ok(X3)) -> ok(U151(X1,X2,X3))
U152(mark(X1),X2) -> mark(U152(X1,X2))
U152(ok(X1),ok(X2)) -> ok(U152(X1,X2))
U153(mark(X)) -> mark(U153(X))
U153(ok(X)) -> ok(U153(X))
U161(mark(X1),X2) -> mark(U161(X1,X2))
U161(ok(X1),ok(X2)) -> ok(U161(X1,X2))
U171(mark(X1),X2,X3) -> mark(U171(X1,X2,X3))
U171(ok(X1),ok(X2),ok(X3)) -> ok(U171(X1,X2,X3))
U181(mark(X1),X2) -> mark(U181(X1,X2))
U181(ok(X1),ok(X2)) -> ok(U181(X1,X2))
U191(mark(X1),X2) -> mark(U191(X1,X2))
U191(ok(X1),ok(X2)) -> ok(U191(X1,X2))
U201(mark(X1),X2,X3,X4) -> mark(U201(X1,X2,X3,X4))
U201(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U201(X1,X2,X3,X4))
U202(mark(X1),X2) -> mark(U202(X1,X2))
U202(ok(X1),ok(X2)) -> ok(U202(X1,X2))
U21(mark(X1),X2) -> mark(U21(X1,X2))
U21(ok(X1),ok(X2)) -> ok(U21(X1,X2))
U211(mark(X1),X2) -> mark(U211(X1,X2))
U211(ok(X1),ok(X2)) -> ok(U211(X1,X2))
U221(mark(X1),X2,X3) -> mark(U221(X1,X2,X3))
U221(ok(X1),ok(X2),ok(X3)) -> ok(U221(X1,X2,X3))
U31(mark(X1),X2) -> mark(U31(X1,X2))
U31(ok(X1),ok(X2)) -> ok(U31(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) -> mark(U42(X1,X2))
U42(ok(X1),ok(X2)) -> ok(U42(X1,X2))
U43(mark(X)) -> mark(U43(X))
U43(ok(X)) -> ok(U43(X))
U51(mark(X1),X2,X3) -> mark(U51(X1,X2,X3))
U51(ok(X1),ok(X2),ok(X3)) -> ok(U51(X1,X2,X3))
U52(mark(X1),X2) -> mark(U52(X1,X2))
U52(ok(X1),ok(X2)) -> ok(U52(X1,X2))
U53(mark(X)) -> mark(U53(X))
U53(ok(X)) -> ok(U53(X))
U61(mark(X1),X2) -> mark(U61(X1,X2))
U61(ok(X1),ok(X2)) -> ok(U61(X1,X2))
U62(mark(X)) -> mark(U62(X))
U62(ok(X)) -> ok(U62(X))
U71(mark(X1),X2) -> mark(U71(X1,X2))
U71(ok(X1),ok(X2)) -> ok(U71(X1,X2))
U72(mark(X)) -> mark(U72(X))
U72(ok(X)) -> ok(U72(X))
U81(mark(X1),X2) -> mark(U81(X1,X2))
U81(ok(X1),ok(X2)) -> ok(U81(X1,X2))
U82(mark(X)) -> mark(U82(X))
U82(ok(X)) -> ok(U82(X))
U91(mark(X1),X2) -> mark(U91(X1,X2))
U91(ok(X1),ok(X2)) -> ok(U91(X1,X2))
U92(mark(X)) -> mark(U92(X))
U92(ok(X)) -> ok(U92(X))
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))
and(mark(X1),X2) -> mark(and(X1,X2))
and(ok(X1),ok(X2)) -> ok(and(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))
isLNat(ok(X)) -> ok(isLNat(X))
isLNatKind(ok(X)) -> ok(isLNatKind(X))
isNatural(ok(X)) -> ok(isNatural(X))
isNaturalKind(ok(X)) -> ok(isNaturalKind(X))
isPLNat(ok(X)) -> ok(isPLNat(X))
isPLNatKind(ok(X)) -> ok(isPLNatKind(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:
{U101/3,U102/2,U103/1,U11/3,U111/2,U112/1,U121/2,U122/1,U131/3,U132/2,U133/1,U141/3,U142/2,U143/1,U151/3
,U152/2,U153/1,U161/2,U171/3,U181/2,U191/2,U201/4,U202/2,U21/2,U211/2,U221/3,U31/2,U41/3,U42/2,U43/1,U51/3
,isLNatKind/1,isNatural/1,isNaturalKind/1,isPLNat/1,isPLNatKind/1,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1
,splitAt/2,tail/1,take/2,top/1} / {0/0,active/1,mark/1,nil/0,ok/1,tt/0}
- Obligation:
innermost runtime complexity wrt. defined symbols {U101,U102,U103,U11,U111,U112,U121,U122,U131,U132,U133
,U141,U142,U143,U151,U152,U153,U161,U171,U181,U191,U201,U202,U21,U211,U221,U31,U41,U42,U43,U51,U52,U53,U61