```* 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))
U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3))
U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3))
U21(mark(X1),X2) -> mark(U21(X1,X2))
U21(ok(X1),ok(X2)) -> ok(U21(X1,X2))
U31(mark(X1),X2) -> mark(U31(X1,X2))
U31(ok(X1),ok(X2)) -> ok(U31(X1,X2))
U41(mark(X1),X2) -> mark(U41(X1,X2))
U41(ok(X1),ok(X2)) -> ok(U41(X1,X2))
U51(mark(X1),X2,X3) -> mark(U51(X1,X2,X3))
U51(ok(X1),ok(X2),ok(X3)) -> ok(U51(X1,X2,X3))
U61(mark(X1),X2) -> mark(U61(X1,X2))
U61(ok(X1),ok(X2)) -> ok(U61(X1,X2))
U71(mark(X1),X2) -> mark(U71(X1,X2))
U71(ok(X1),ok(X2)) -> ok(U71(X1,X2))
U81(mark(X1),X2,X3,X4) -> mark(U81(X1,X2,X3,X4))
U81(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U81(X1,X2,X3,X4))
U82(mark(X1),X2) -> mark(U82(X1,X2))
U82(ok(X1),ok(X2)) -> ok(U82(X1,X2))
U91(mark(X1),X2) -> mark(U91(X1,X2))
U91(ok(X1),ok(X2)) -> ok(U91(X1,X2))
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))
isNatural(ok(X)) -> ok(isNatural(X))
isPLNat(ok(X)) -> ok(isPLNat(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:
,isLNat/1,isNatural/1,isPLNat/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,U11,U21,U31,U41,U51,U61,U71,U81,U82,U91,afterNth,and
,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
U11_0(2,2,2) -> 1
U11_1(2,2,2) -> 3
U21_0(2,2) -> 1
U21_1(2,2) -> 3
U31_0(2,2) -> 1
U31_1(2,2) -> 3
U41_0(2,2) -> 1
U41_1(2,2) -> 3
U51_0(2,2,2) -> 1
U51_1(2,2,2) -> 3
U61_0(2,2) -> 1
U61_1(2,2) -> 3
U71_0(2,2) -> 1
U71_1(2,2) -> 3
U81_0(2,2,2,2) -> 1
U81_1(2,2,2,2) -> 3
U82_0(2,2) -> 1
U82_1(2,2) -> 3
U91_0(2,2) -> 1
U91_1(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
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
isNatural_0(2) -> 1
isNatural_1(2) -> 3
isPLNat_0(2) -> 1
isPLNat_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))
U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3))
U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3))
U21(mark(X1),X2) -> mark(U21(X1,X2))
U21(ok(X1),ok(X2)) -> ok(U21(X1,X2))
U31(mark(X1),X2) -> mark(U31(X1,X2))
U31(ok(X1),ok(X2)) -> ok(U31(X1,X2))
U41(mark(X1),X2) -> mark(U41(X1,X2))
U41(ok(X1),ok(X2)) -> ok(U41(X1,X2))
U51(mark(X1),X2,X3) -> mark(U51(X1,X2,X3))
U51(ok(X1),ok(X2),ok(X3)) -> ok(U51(X1,X2,X3))
U61(mark(X1),X2) -> mark(U61(X1,X2))
U61(ok(X1),ok(X2)) -> ok(U61(X1,X2))
U71(mark(X1),X2) -> mark(U71(X1,X2))
U71(ok(X1),ok(X2)) -> ok(U71(X1,X2))
U81(mark(X1),X2,X3,X4) -> mark(U81(X1,X2,X3,X4))
U81(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U81(X1,X2,X3,X4))
U82(mark(X1),X2) -> mark(U82(X1,X2))
U82(ok(X1),ok(X2)) -> ok(U82(X1,X2))
U91(mark(X1),X2) -> mark(U91(X1,X2))
U91(ok(X1),ok(X2)) -> ok(U91(X1,X2))
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))
isNatural(ok(X)) -> ok(isNatural(X))
isPLNat(ok(X)) -> ok(isPLNat(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: