* Step 1: Sum WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: a__U11(X1,X2) -> U11(X1,X2) a__U11(tt(),V1) -> a__U12(a__isNatList(V1)) a__U12(X) -> U12(X) a__U12(tt()) -> tt() a__U21(X1,X2) -> U21(X1,X2) a__U21(tt(),V1) -> a__U22(a__isNat(V1)) a__U22(X) -> U22(X) a__U22(tt()) -> tt() a__U31(X1,X2) -> U31(X1,X2) a__U31(tt(),V) -> a__U32(a__isNatList(V)) a__U32(X) -> U32(X) a__U32(tt()) -> tt() a__U41(X1,X2,X3) -> U41(X1,X2,X3) a__U41(tt(),V1,V2) -> a__U42(a__isNat(V1),V2) a__U42(X1,X2) -> U42(X1,X2) a__U42(tt(),V2) -> a__U43(a__isNatIList(V2)) a__U43(X) -> U43(X) a__U43(tt()) -> tt() a__U51(X1,X2,X3) -> U51(X1,X2,X3) a__U51(tt(),V1,V2) -> a__U52(a__isNat(V1),V2) a__U52(X1,X2) -> U52(X1,X2) a__U52(tt(),V2) -> a__U53(a__isNatList(V2)) a__U53(X) -> U53(X) a__U53(tt()) -> tt() a__U61(X1,X2,X3) -> U61(X1,X2,X3) a__U61(tt(),V1,V2) -> a__U62(a__isNat(V1),V2) a__U62(X1,X2) -> U62(X1,X2) a__U62(tt(),V2) -> a__U63(a__isNatIList(V2)) a__U63(X) -> U63(X) a__U63(tt()) -> tt() a__U71(X1,X2) -> U71(X1,X2) a__U71(tt(),L) -> s(a__length(mark(L))) a__U81(X) -> U81(X) a__U81(tt()) -> nil() a__U91(X1,X2,X3,X4) -> U91(X1,X2,X3,X4) a__U91(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) a__and(X1,X2) -> and(X1,X2) a__and(tt(),X) -> mark(X) a__isNat(X) -> isNat(X) a__isNat(0()) -> tt() a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) a__isNatIList(X) -> isNatIList(X) a__isNatIList(cons(V1,V2)) -> a__U41(a__and(a__isNatKind(V1),isNatIListKind(V2)),V1,V2) a__isNatIList(zeros()) -> tt() a__isNatIListKind(X) -> isNatIListKind(X) a__isNatIListKind(cons(V1,V2)) -> a__and(a__isNatKind(V1),isNatIListKind(V2)) a__isNatIListKind(nil()) -> tt() a__isNatIListKind(take(V1,V2)) -> a__and(a__isNatKind(V1),isNatIListKind(V2)) a__isNatIListKind(zeros()) -> tt() a__isNatKind(X) -> isNatKind(X) a__isNatKind(0()) -> tt() a__isNatKind(length(V1)) -> a__isNatIListKind(V1) a__isNatKind(s(V1)) -> a__isNatKind(V1) a__isNatList(X) -> isNatList(X) a__isNatList(cons(V1,V2)) -> a__U51(a__and(a__isNatKind(V1),isNatIListKind(V2)),V1,V2) a__isNatList(nil()) -> tt() a__isNatList(take(V1,V2)) -> a__U61(a__and(a__isNatKind(V1),isNatIListKind(V2)),V1,V2) a__length(X) -> length(X) a__length(cons(N,L)) -> a__U71(a__and(a__and(a__isNatList(L),isNatIListKind(L)),and(isNat(N),isNatKind(N))) ,L) a__length(nil()) -> 0() a__take(X1,X2) -> take(X1,X2) a__take(0(),IL) -> a__U81(a__and(a__isNatIList(IL),isNatIListKind(IL))) a__take(s(M),cons(N,IL)) -> a__U91(a__and(a__and(a__isNatIList(IL),isNatIListKind(IL)) ,and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N)))) ,IL ,M ,N) a__zeros() -> cons(0(),zeros()) a__zeros() -> zeros() mark(0()) -> 0() mark(U11(X1,X2)) -> a__U11(mark(X1),X2) mark(U12(X)) -> a__U12(mark(X)) mark(U21(X1,X2)) -> a__U21(mark(X1),X2) mark(U22(X)) -> a__U22(mark(X)) mark(U31(X1,X2)) -> a__U31(mark(X1),X2) mark(U32(X)) -> a__U32(mark(X)) mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) mark(U42(X1,X2)) -> a__U42(mark(X1),X2) mark(U43(X)) -> a__U43(mark(X)) mark(U51(X1,X2,X3)) -> a__U51(mark(X1),X2,X3) mark(U52(X1,X2)) -> a__U52(mark(X1),X2) mark(U53(X)) -> a__U53(mark(X)) mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) mark(U62(X1,X2)) -> a__U62(mark(X1),X2) mark(U63(X)) -> a__U63(mark(X)) mark(U71(X1,X2)) -> a__U71(mark(X1),X2) mark(U81(X)) -> a__U81(mark(X)) mark(U91(X1,X2,X3,X4)) -> a__U91(mark(X1),X2,X3,X4) mark(and(X1,X2)) -> a__and(mark(X1),X2) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(isNat(X)) -> a__isNat(X) mark(isNatIList(X)) -> a__isNatIList(X) mark(isNatIListKind(X)) -> a__isNatIListKind(X) mark(isNatKind(X)) -> a__isNatKind(X) mark(isNatList(X)) -> a__isNatList(X) mark(length(X)) -> a__length(mark(X)) mark(nil()) -> nil() mark(s(X)) -> s(mark(X)) mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) mark(tt()) -> tt() mark(zeros()) -> a__zeros() - Signature: {a__U11/2,a__U12/1,a__U21/2,a__U22/1,a__U31/2,a__U32/1,a__U41/3,a__U42/2,a__U43/1,a__U51/3,a__U52/2,a__U53/1 ,a__U61/3,a__U62/2,a__U63/1,a__U71/2,a__U81/1,a__U91/4,a__and/2,a__isNat/1,a__isNatIList/1 ,a__isNatIListKind/1,a__isNatKind/1,a__isNatList/1,a__length/1,a__take/2,a__zeros/0,mark/1} / {0/0,U11/2 ,U12/1,U21/2,U22/1,U31/2,U32/1,U41/3,U42/2,U43/1,U51/3,U52/2,U53/1,U61/3,U62/2,U63/1,U71/2,U81/1,U91/4,and/2 ,cons/2,isNat/1,isNatIList/1,isNatIListKind/1,isNatKind/1,isNatList/1,length/1,nil/0,s/1,take/2,tt/0 ,zeros/0} - Obligation: innermost runtime complexity wrt. defined symbols {a__U11,a__U12,a__U21,a__U22,a__U31,a__U32,a__U41,a__U42 ,a__U43,a__U51,a__U52,a__U53,a__U61,a__U62,a__U63,a__U71,a__U81,a__U91,a__and,a__isNat,a__isNatIList ,a__isNatIListKind,a__isNatKind,a__isNatList,a__length,a__take,a__zeros,mark} and constructors {0,U11,U12 ,U21,U22,U31,U32,U41,U42,U43,U51,U52,U53,U61,U62,U63,U71,U81,U91,and,cons,isNat,isNatIList,isNatIListKind ,isNatKind,isNatList,length,nil,s,take,tt,zeros} + Applied Processor: Sum {left = someStrategy, right = someStrategy} + Details: () * Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?) + Considered Problem: - Strict TRS: a__U11(X1,X2) -> U11(X1,X2) a__U11(tt(),V1) -> a__U12(a__isNatList(V1)) a__U12(X) -> U12(X) a__U12(tt()) -> tt() a__U21(X1,X2) -> U21(X1,X2) a__U21(tt(),V1) -> a__U22(a__isNat(V1)) a__U22(X) -> U22(X) a__U22(tt()) -> tt() a__U31(X1,X2) -> U31(X1,X2) a__U31(tt(),V) -> a__U32(a__isNatList(V)) a__U32(X) -> U32(X) a__U32(tt()) -> tt() a__U41(X1,X2,X3) -> U41(X1,X2,X3) a__U41(tt(),V1,V2) -> a__U42(a__isNat(V1),V2) a__U42(X1,X2) -> U42(X1,X2) a__U42(tt(),V2) -> a__U43(a__isNatIList(V2)) a__U43(X) -> U43(X) a__U43(tt()) -> tt() a__U51(X1,X2,X3) -> U51(X1,X2,X3) a__U51(tt(),V1,V2) -> a__U52(a__isNat(V1),V2) a__U52(X1,X2) -> U52(X1,X2) a__U52(tt(),V2) -> a__U53(a__isNatList(V2)) a__U53(X) -> U53(X) a__U53(tt()) -> tt() a__U61(X1,X2,X3) -> U61(X1,X2,X3) a__U61(tt(),V1,V2) -> a__U62(a__isNat(V1),V2) a__U62(X1,X2) -> U62(X1,X2) a__U62(tt(),V2) -> a__U63(a__isNatIList(V2)) a__U63(X) -> U63(X) a__U63(tt()) -> tt() a__U71(X1,X2) -> U71(X1,X2) a__U71(tt(),L) -> s(a__length(mark(L))) a__U81(X) -> U81(X) a__U81(tt()) -> nil() a__U91(X1,X2,X3,X4) -> U91(X1,X2,X3,X4) a__U91(tt(),IL,M,N) -> cons(mark(N),take(M,IL)) a__and(X1,X2) -> and(X1,X2) a__and(tt(),X) -> mark(X) a__isNat(X) -> isNat(X) a__isNat(0()) -> tt() a__isNat(length(V1)) -> a__U11(a__isNatIListKind(V1),V1) a__isNat(s(V1)) -> a__U21(a__isNatKind(V1),V1) a__isNatIList(V) -> a__U31(a__isNatIListKind(V),V) a__isNatIList(X) -> isNatIList(X) a__isNatIList(cons(V1,V2)) -> a__U41(a__and(a__isNatKind(V1),isNatIListKind(V2)),V1,V2) a__isNatIList(zeros()) -> tt() a__isNatIListKind(X) -> isNatIListKind(X) a__isNatIListKind(cons(V1,V2)) -> a__and(a__isNatKind(V1),isNatIListKind(V2)) a__isNatIListKind(nil()) -> tt() a__isNatIListKind(take(V1,V2)) -> a__and(a__isNatKind(V1),isNatIListKind(V2)) a__isNatIListKind(zeros()) -> tt() a__isNatKind(X) -> isNatKind(X) a__isNatKind(0()) -> tt() a__isNatKind(length(V1)) -> a__isNatIListKind(V1) a__isNatKind(s(V1)) -> a__isNatKind(V1) a__isNatList(X) -> isNatList(X) a__isNatList(cons(V1,V2)) -> a__U51(a__and(a__isNatKind(V1),isNatIListKind(V2)),V1,V2) a__isNatList(nil()) -> tt() a__isNatList(take(V1,V2)) -> a__U61(a__and(a__isNatKind(V1),isNatIListKind(V2)),V1,V2) a__length(X) -> length(X) a__length(cons(N,L)) -> a__U71(a__and(a__and(a__isNatList(L),isNatIListKind(L)),and(isNat(N),isNatKind(N))) ,L) a__length(nil()) -> 0() a__take(X1,X2) -> take(X1,X2) a__take(0(),IL) -> a__U81(a__and(a__isNatIList(IL),isNatIListKind(IL))) a__take(s(M),cons(N,IL)) -> a__U91(a__and(a__and(a__isNatIList(IL),isNatIListKind(IL)) ,and(and(isNat(M),isNatKind(M)),and(isNat(N),isNatKind(N)))) ,IL ,M ,N) a__zeros() -> cons(0(),zeros()) a__zeros() -> zeros() mark(0()) -> 0() mark(U11(X1,X2)) -> a__U11(mark(X1),X2) mark(U12(X)) -> a__U12(mark(X)) mark(U21(X1,X2)) -> a__U21(mark(X1),X2) mark(U22(X)) -> a__U22(mark(X)) mark(U31(X1,X2)) -> a__U31(mark(X1),X2) mark(U32(X)) -> a__U32(mark(X)) mark(U41(X1,X2,X3)) -> a__U41(mark(X1),X2,X3) mark(U42(X1,X2)) -> a__U42(mark(X1),X2) mark(U43(X)) -> a__U43(mark(X)) mark(U51(X1,X2,X3)) -> a__U51(mark(X1),X2,X3) mark(U52(X1,X2)) -> a__U52(mark(X1),X2) mark(U53(X)) -> a__U53(mark(X)) mark(U61(X1,X2,X3)) -> a__U61(mark(X1),X2,X3) mark(U62(X1,X2)) -> a__U62(mark(X1),X2) mark(U63(X)) -> a__U63(mark(X)) mark(U71(X1,X2)) -> a__U71(mark(X1),X2) mark(U81(X)) -> a__U81(mark(X)) mark(U91(X1,X2,X3,X4)) -> a__U91(mark(X1),X2,X3,X4) mark(and(X1,X2)) -> a__and(mark(X1),X2) mark(cons(X1,X2)) -> cons(mark(X1),X2) mark(isNat(X)) -> a__isNat(X) mark(isNatIList(X)) -> a__isNatIList(X) mark(isNatIListKind(X)) -> a__isNatIListKind(X) mark(isNatKind(X)) -> a__isNatKind(X) mark(isNatList(X)) -> a__isNatList(X) mark(length(X)) -> a__length(mark(X)) mark(nil()) -> nil() mark(s(X)) -> s(mark(X)) mark(take(X1,X2)) -> a__take(mark(X1),mark(X2)) mark(tt()) -> tt() mark(zeros()) -> a__zeros() - Signature: {a__U11/2,a__U12/1,a__U21/2,a__U22/1,a__U31/2,a__U32/1,a__U41/3,a__U42/2,a__U43/1,a__U51/3,a__U52/2,a__U53/1 ,a__U61/3,a__U62/2,a__U63/1,a__U71/2,a__U81/1,a__U91/4,a__and/2,a__isNat/1,a__isNatIList/1 ,a__isNatIListKind/1,a__isNatKind/1,a__isNatList/1,a__length/1,a__take/2,a__zeros/0,mark/1} / {0/0,U11/2 ,U12/1,U21/2,U22/1,U31/2,U32/1,U41/3,U42/2,U43/1,U51/3,U52/2,U53/1,U61/3,U62/2,U63/1,U71/2,U81/1,U91/4,and/2 ,cons/2,isNat/1,isNatIList/1,isNatIListKind/1,isNatKind/1,isNatList/1,length/1,nil/0,s/1,take/2,tt/0 ,zeros/0} - Obligation: innermost runtime complexity wrt. defined symbols {a__U11,a__U12,a__U21,a__U22,a__U31,a__U32,a__U41,a__U42 ,a__U43,a__U51,a__U52,a__U53,a__U61,a__U62,a__U63,a__U71,a__U81,a__U91,a__and,a__isNat,a__isNatIList ,a__isNatIListKind,a__isNatKind,a__isNatList,a__length,a__take,a__zeros,mark} and constructors {0,U11,U12 ,U21,U22,U31,U32,U41,U42,U43,U51,U52,U53,U61,U62,U63,U71,U81,U91,and,cons,isNat,isNatIList,isNatIListKind ,isNatKind,isNatList,length,nil,s,take,tt,zeros} + Applied Processor: DecreasingLoops {bound = AnyLoop, narrow = 10} + Details: The system has following decreasing Loops: a__isNatKind(x){x -> s(x)} = a__isNatKind(s(x)) ->^+ a__isNatKind(x) = C[a__isNatKind(x) = a__isNatKind(x){}] WORST_CASE(Omega(n^1),?)