YES

The TRS could be proven terminating. The proof took 4618 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (1773ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4 (230ms).
 |    | – Problem 6 was processed with processor PolynomialLinearRange4 (42ms).
 |    |    | – Problem 11 was processed with processor DependencyGraph (5ms).
 |    |    |    | – Problem 13 was processed with processor PolynomialLinearRange4 (40ms).
 |    |    |    |    | – Problem 14 was processed with processor DependencyGraph (1ms).
 | – Problem 3 was processed with processor PolynomialLinearRange4 (776ms).
 |    | – Problem 7 was processed with processor DependencyGraph (2ms).
 | – Problem 4 was processed with processor PolynomialLinearRange4 (409ms).
 |    | – Problem 8 was processed with processor DependencyGraph (7ms).
 | – Problem 5 was processed with processor PolynomialLinearRange4 (575ms).
 |    | – Problem 9 was processed with processor DependencyGraph (67ms).
 |    |    | – Problem 10 was processed with processor PolynomialLinearRange4 (39ms).
 |    |    |    | – Problem 12 was processed with processor DependencyGraph (1ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U95#(tt, V2)isNatList#(V2)U105#(tt, V2)U106#(isNatIList(V2))
isNatIList#(cons(V1, V2))isNatKind#(V1)U111#(tt, L, N)isNatIListKind#(L)
U45#(tt, V2)isNatIList#(V2)U91#(tt, V1, V2)U92#(isNatKind(V1), V1, V2)
isNatKind#(length(V1))isNatIListKind#(V1)U11#(tt, V1)isNatIListKind#(V1)
U102#(tt, V1, V2)U103#(isNatIListKind(V2), V1, V2)U113#(tt, L, N)isNatKind#(N)
U32#(tt, V)isNatList#(V)isNatIListKind#(take(V1, V2))U61#(isNatKind(V1), V2)
U103#(tt, V1, V2)isNatIListKind#(V2)U136#(tt, IL, M, N)T(N)
isNatIList#(V)U31#(isNatIListKind(V), V)T(zeros)zeros#
U105#(tt, V2)isNatIList#(V2)U43#(tt, V1, V2)isNatIListKind#(V2)
U42#(tt, V1, V2)U43#(isNatIListKind(V2), V1, V2)U101#(tt, V1, V2)U102#(isNatKind(V1), V1, V2)
U93#(tt, V1, V2)U94#(isNatIListKind(V2), V1, V2)isNatList#(take(V1, V2))isNatKind#(V1)
T(take(x_1, x_2))T(x_1)U61#(tt, V2)isNatIListKind#(V2)
isNat#(length(V1))U11#(isNatIListKind(V1), V1)U94#(tt, V1, V2)isNat#(V1)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)isNatIList#(V)isNatIListKind#(V)
U111#(tt, L, N)U112#(isNatIListKind(L), L, N)isNatKind#(length(V1))U71#(isNatIListKind(V1))
U95#(tt, V2)U96#(isNatList(V2))isNatList#(take(V1, V2))U101#(isNatKind(V1), V1, V2)
U133#(tt, IL, M, N)isNatKind#(M)U102#(tt, V1, V2)isNatIListKind#(V2)
U21#(tt, V1)U22#(isNatKind(V1), V1)isNatIListKind#(take(V1, V2))isNatKind#(V1)
U31#(tt, V)U32#(isNatIListKind(V), V)U134#(tt, IL, M, N)U135#(isNat(N), IL, M, N)
length#(cons(N, L))U111#(isNatList(L), L, N)isNatList#(cons(V1, V2))U91#(isNatKind(V1), V1, V2)
U121#(tt, IL)isNatIListKind#(IL)U61#(tt, V2)U62#(isNatIListKind(V2))
isNatKind#(s(V1))U81#(isNatKind(V1))U135#(tt, IL, M, N)isNatKind#(N)
U94#(tt, V1, V2)U95#(isNat(V1), V2)isNat#(s(V1))isNatKind#(V1)
isNat#(s(V1))U21#(isNatKind(V1), V1)U93#(tt, V1, V2)isNatIListKind#(V2)
U104#(tt, V1, V2)isNat#(V1)U41#(tt, V1, V2)isNatKind#(V1)
U121#(tt, IL)U122#(isNatIListKind(IL))isNatKind#(s(V1))isNatKind#(V1)
U92#(tt, V1, V2)U93#(isNatIListKind(V2), V1, V2)U112#(tt, L, N)isNat#(N)
U41#(tt, V1, V2)U42#(isNatKind(V1), V1, V2)isNatList#(cons(V1, V2))isNatKind#(V1)
U113#(tt, L, N)U114#(isNatKind(N), L)U22#(tt, V1)U23#(isNat(V1))
U31#(tt, V)isNatIListKind#(V)U112#(tt, L, N)U113#(isNat(N), L, N)
U114#(tt, L)T(L)U134#(tt, IL, M, N)isNat#(N)
isNat#(length(V1))isNatIListKind#(V1)U43#(tt, V1, V2)U44#(isNatIListKind(V2), V1, V2)
take#(s(M), cons(N, IL))U131#(isNatIList(IL), IL, M, N)U42#(tt, V1, V2)isNatIListKind#(V2)
U21#(tt, V1)isNatKind#(V1)U132#(tt, IL, M, N)U133#(isNat(M), IL, M, N)
take#(0, IL)isNatIList#(IL)U131#(tt, IL, M, N)isNatIListKind#(IL)
T(take(M, IL))take#(M, IL)U44#(tt, V1, V2)isNat#(V1)
U91#(tt, V1, V2)isNatKind#(V1)U114#(tt, L)length#(L)
U51#(tt, V2)U52#(isNatIListKind(V2))U131#(tt, IL, M, N)U132#(isNatIListKind(IL), IL, M, N)
U22#(tt, V1)isNat#(V1)U132#(tt, IL, M, N)isNat#(M)
take#(s(M), cons(N, IL))isNatIList#(IL)U45#(tt, V2)U46#(isNatIList(V2))
isNatIListKind#(cons(V1, V2))U51#(isNatKind(V1), V2)T(take(x_1, x_2))T(x_2)
take#(0, IL)U121#(isNatIList(IL), IL)U12#(tt, V1)isNatList#(V1)
U135#(tt, IL, M, N)U136#(isNatKind(N), IL, M, N)U51#(tt, V2)isNatIListKind#(V2)
U101#(tt, V1, V2)isNatKind#(V1)U32#(tt, V)U33#(isNatList(V))
U11#(tt, V1)U12#(isNatIListKind(V1), V1)isNatIList#(cons(V1, V2))U41#(isNatKind(V1), V1, V2)
U133#(tt, IL, M, N)U134#(isNatKind(M), IL, M, N)U12#(tt, V1)U13#(isNatList(V1))
U92#(tt, V1, V2)isNatIListKind#(V2)U44#(tt, V1, V2)U45#(isNat(V1), V2)
U103#(tt, V1, V2)U104#(isNatIListKind(V2), V1, V2)length#(cons(N, L))isNatList#(L)
U104#(tt, V1, V2)U105#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


The following SCCs where found

length#(cons(N, L)) → U111#(isNatList(L), L, N)U114#(tt, L) → length#(L)
U112#(tt, L, N) → U113#(isNat(N), L, N)U113#(tt, L, N) → U114#(isNatKind(N), L)
U111#(tt, L, N) → U112#(isNatIListKind(L), L, N)

isNatKind#(s(V1)) → isNatKind#(V1)isNatIListKind#(cons(V1, V2)) → U51#(isNatKind(V1), V2)
U51#(tt, V2) → isNatIListKind#(V2)isNatIListKind#(take(V1, V2)) → U61#(isNatKind(V1), V2)
isNatKind#(length(V1)) → isNatIListKind#(V1)U61#(tt, V2) → isNatIListKind#(V2)
isNatIListKind#(cons(V1, V2)) → isNatKind#(V1)isNatIListKind#(take(V1, V2)) → isNatKind#(V1)

U95#(tt, V2) → isNatList#(V2)U94#(tt, V1, V2) → U95#(isNat(V1), V2)
isNatList#(take(V1, V2)) → U101#(isNatKind(V1), V1, V2)U45#(tt, V2) → isNatIList#(V2)
isNat#(s(V1)) → U21#(isNatKind(V1), V1)U22#(tt, V1) → isNat#(V1)
U91#(tt, V1, V2) → U92#(isNatKind(V1), V1, V2)U104#(tt, V1, V2) → isNat#(V1)
U21#(tt, V1) → U22#(isNatKind(V1), V1)U102#(tt, V1, V2) → U103#(isNatIListKind(V2), V1, V2)
U31#(tt, V) → U32#(isNatIListKind(V), V)U32#(tt, V) → isNatList#(V)
U92#(tt, V1, V2) → U93#(isNatIListKind(V2), V1, V2)isNatIList#(V) → U31#(isNatIListKind(V), V)
U105#(tt, V2) → isNatIList#(V2)U41#(tt, V1, V2) → U42#(isNatKind(V1), V1, V2)
U12#(tt, V1) → isNatList#(V1)isNatList#(cons(V1, V2)) → U91#(isNatKind(V1), V1, V2)
U42#(tt, V1, V2) → U43#(isNatIListKind(V2), V1, V2)U101#(tt, V1, V2) → U102#(isNatKind(V1), V1, V2)
U93#(tt, V1, V2) → U94#(isNatIListKind(V2), V1, V2)isNatIList#(cons(V1, V2)) → U41#(isNatKind(V1), V1, V2)
U11#(tt, V1) → U12#(isNatIListKind(V1), V1)U43#(tt, V1, V2) → U44#(isNatIListKind(V2), V1, V2)
isNat#(length(V1)) → U11#(isNatIListKind(V1), V1)U44#(tt, V1, V2) → U45#(isNat(V1), V2)
U94#(tt, V1, V2) → isNat#(V1)U103#(tt, V1, V2) → U104#(isNatIListKind(V2), V1, V2)
U44#(tt, V1, V2) → isNat#(V1)U104#(tt, V1, V2) → U105#(isNat(V1), V2)

U134#(tt, IL, M, N) → U135#(isNat(N), IL, M, N)U135#(tt, IL, M, N) → U136#(isNatKind(N), IL, M, N)
T(take(x_1, x_2)) → T(x_2)U136#(tt, IL, M, N) → T(N)
U131#(tt, IL, M, N) → U132#(isNatIListKind(IL), IL, M, N)T(take(x_1, x_2)) → T(x_1)
U133#(tt, IL, M, N) → U134#(isNatKind(M), IL, M, N)T(take(M, IL)) → take#(M, IL)
take#(s(M), cons(N, IL)) → U131#(isNatIList(IL), IL, M, N)U132#(tt, IL, M, N) → U133#(isNat(M), IL, M, N)

Problem 2: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatKind#(s(V1))isNatKind#(V1)isNatIListKind#(cons(V1, V2))U51#(isNatKind(V1), V2)
U51#(tt, V2)isNatIListKind#(V2)isNatIListKind#(take(V1, V2))U61#(isNatKind(V1), V2)
isNatKind#(length(V1))isNatIListKind#(V1)U61#(tt, V2)isNatIListKind#(V2)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)isNatIListKind#(take(V1, V2))isNatKind#(V1)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNatIListKind(nil)ttisNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
U71(tt)ttisNatKind(length(V1))U71(isNatIListKind(V1))
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U81(tt)ttisNatKind(0)tt
isNatKind(s(V1))U81(isNatKind(V1))U51(tt, V2)U52(isNatIListKind(V2))
U52(tt)ttisNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatKind#(s(V1))isNatKind#(V1)isNatIListKind#(take(V1, V2))isNatKind#(V1)

Problem 6: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatIListKind#(cons(V1, V2))U51#(isNatKind(V1), V2)isNatIListKind#(take(V1, V2))U61#(isNatKind(V1), V2)
U51#(tt, V2)isNatIListKind#(V2)isNatKind#(length(V1))isNatIListKind#(V1)
U61#(tt, V2)isNatIListKind#(V2)isNatIListKind#(cons(V1, V2))isNatKind#(V1)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNatIListKind(nil)ttisNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
U71(tt)ttisNatKind(length(V1))U71(isNatIListKind(V1))
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U81(tt)ttisNatKind(0)tt
isNatKind(s(V1))U81(isNatKind(V1))U51(tt, V2)U52(isNatIListKind(V2))
U52(tt)ttisNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatKind#(length(V1))isNatIListKind#(V1)

Problem 11: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNatIListKind#(cons(V1, V2))U51#(isNatKind(V1), V2)U51#(tt, V2)isNatIListKind#(V2)
isNatIListKind#(take(V1, V2))U61#(isNatKind(V1), V2)U61#(tt, V2)isNatIListKind#(V2)
isNatIListKind#(cons(V1, V2))isNatKind#(V1)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


The following SCCs where found

isNatIListKind#(cons(V1, V2)) → U51#(isNatKind(V1), V2)U51#(tt, V2) → isNatIListKind#(V2)
isNatIListKind#(take(V1, V2)) → U61#(isNatKind(V1), V2)U61#(tt, V2) → isNatIListKind#(V2)

Problem 13: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNatIListKind#(cons(V1, V2))U51#(isNatKind(V1), V2)U51#(tt, V2)isNatIListKind#(V2)
isNatIListKind#(take(V1, V2))U61#(isNatKind(V1), V2)U61#(tt, V2)isNatIListKind#(V2)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNatIListKind(nil)ttisNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
U71(tt)ttisNatKind(length(V1))U71(isNatIListKind(V1))
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U81(tt)ttisNatKind(0)tt
isNatKind(s(V1))U81(isNatKind(V1))U51(tt, V2)U52(isNatIListKind(V2))
U52(tt)ttisNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

isNatIListKind#(cons(V1, V2))U51#(isNatKind(V1), V2)isNatIListKind#(take(V1, V2))U61#(isNatKind(V1), V2)
U51#(tt, V2)isNatIListKind#(V2)

Problem 14: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U61#(tt, V2)isNatIListKind#(V2)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


There are no SCCs!

Problem 3: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

length#(cons(N, L))U111#(isNatList(L), L, N)U114#(tt, L)length#(L)
U112#(tt, L, N)U113#(isNat(N), L, N)U113#(tt, L, N)U114#(isNatKind(N), L)
U111#(tt, L, N)U112#(isNatIListKind(L), L, N)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

U113(tt, L, N)U114(isNatKind(N), L)isNat(length(V1))U11(isNatIListKind(V1), V1)
isNatIListKind(nil)ttU114(tt, L)s(length(L))
U121(tt, IL)U122(isNatIListKind(IL))U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)
U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)U13(tt)tt
U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U62(tt)tt
U81(tt)ttisNatKind(0)tt
U44(tt, V1, V2)U45(isNat(V1), V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
length(nil)0U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)
isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)
U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)U111(tt, L, N)U112(isNatIListKind(L), L, N)
isNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)
U122(tt)nilU104(tt, V1, V2)U105(isNat(V1), V2)
U136(tt, IL, M, N)cons(N, take(M, IL))U31(tt, V)U32(isNatIListKind(V), V)
isNatKind(s(V1))U81(isNatKind(V1))isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)
U52(tt)ttU46(tt)tt
isNatIList(V)U31(isNatIListKind(V), V)U105(tt, V2)U106(isNatIList(V2))
U45(tt, V2)U46(isNatIList(V2))U61(tt, V2)U62(isNatIListKind(V2))
isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
isNat(s(V1))U21(isNatKind(V1), V1)length(cons(N, L))U111(isNatList(L), L, N)
U33(tt)ttU102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)
U12(tt, V1)U13(isNatList(V1))take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)
U11(tt, V1)U12(isNatIListKind(V1), V1)U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNatIList(zeros)ttU32(tt, V)U33(isNatList(V))
isNat(0)ttisNatList(nil)tt
U23(tt)ttzeroscons(0, zeros)
U71(tt)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
take(0, IL)U121(isNatIList(IL), IL)U22(tt, V1)U23(isNat(V1))
U21(tt, V1)U22(isNatKind(V1), V1)U106(tt)tt
U112(tt, L, N)U113(isNat(N), L, N)U51(tt, V2)U52(isNatIListKind(V2))
isNatIListKind(zeros)ttU131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U111#(tt, L, N)U112#(isNatIListKind(L), L, N)

Problem 7: DependencyGraph



Dependency Pair Problem

Dependency Pairs

length#(cons(N, L))U111#(isNatList(L), L, N)U114#(tt, L)length#(L)
U112#(tt, L, N)U113#(isNat(N), L, N)U113#(tt, L, N)U114#(isNatKind(N), L)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


There are no SCCs!

Problem 4: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U134#(tt, IL, M, N)U135#(isNat(N), IL, M, N)U135#(tt, IL, M, N)U136#(isNatKind(N), IL, M, N)
T(take(x_1, x_2))T(x_2)U136#(tt, IL, M, N)T(N)
U131#(tt, IL, M, N)U132#(isNatIListKind(IL), IL, M, N)T(take(x_1, x_2))T(x_1)
U133#(tt, IL, M, N)U134#(isNatKind(M), IL, M, N)T(take(M, IL))take#(M, IL)
take#(s(M), cons(N, IL))U131#(isNatIList(IL), IL, M, N)U132#(tt, IL, M, N)U133#(isNat(M), IL, M, N)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

U113(tt, L, N)U114(isNatKind(N), L)isNat(length(V1))U11(isNatIListKind(V1), V1)
isNatIListKind(nil)ttU114(tt, L)s(length(L))
U121(tt, IL)U122(isNatIListKind(IL))U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)
U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)U13(tt)tt
U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U62(tt)tt
U81(tt)ttisNatKind(0)tt
U44(tt, V1, V2)U45(isNat(V1), V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
length(nil)0U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)
isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)
U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)U111(tt, L, N)U112(isNatIListKind(L), L, N)
isNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)
U122(tt)nilU104(tt, V1, V2)U105(isNat(V1), V2)
U136(tt, IL, M, N)cons(N, take(M, IL))U31(tt, V)U32(isNatIListKind(V), V)
isNatKind(s(V1))U81(isNatKind(V1))isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)
U52(tt)ttU46(tt)tt
isNatIList(V)U31(isNatIListKind(V), V)U105(tt, V2)U106(isNatIList(V2))
U45(tt, V2)U46(isNatIList(V2))U61(tt, V2)U62(isNatIListKind(V2))
isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
isNat(s(V1))U21(isNatKind(V1), V1)length(cons(N, L))U111(isNatList(L), L, N)
U33(tt)ttU102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)
U12(tt, V1)U13(isNatList(V1))take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)
U11(tt, V1)U12(isNatIListKind(V1), V1)U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNatIList(zeros)ttU32(tt, V)U33(isNatList(V))
isNat(0)ttisNatList(nil)tt
U23(tt)ttzeroscons(0, zeros)
U71(tt)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
take(0, IL)U121(isNatIList(IL), IL)U22(tt, V1)U23(isNat(V1))
U21(tt, V1)U22(isNatKind(V1), V1)U106(tt)tt
U112(tt, L, N)U113(isNat(N), L, N)U51(tt, V2)U52(isNatIListKind(V2))
isNatIListKind(zeros)ttU131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

T(take(x_1, x_2))T(x_2)T(take(x_1, x_2))T(x_1)
T(take(M, IL))take#(M, IL)

Problem 8: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U134#(tt, IL, M, N)U135#(isNat(N), IL, M, N)U135#(tt, IL, M, N)U136#(isNatKind(N), IL, M, N)
U136#(tt, IL, M, N)T(N)U131#(tt, IL, M, N)U132#(isNatIListKind(IL), IL, M, N)
U133#(tt, IL, M, N)U134#(isNatKind(M), IL, M, N)take#(s(M), cons(N, IL))U131#(isNatIList(IL), IL, M, N)
U132#(tt, IL, M, N)U133#(isNat(M), IL, M, N)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


There are no SCCs!

Problem 5: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

U95#(tt, V2)isNatList#(V2)U94#(tt, V1, V2)U95#(isNat(V1), V2)
isNatList#(take(V1, V2))U101#(isNatKind(V1), V1, V2)U45#(tt, V2)isNatIList#(V2)
isNat#(s(V1))U21#(isNatKind(V1), V1)U22#(tt, V1)isNat#(V1)
U91#(tt, V1, V2)U92#(isNatKind(V1), V1, V2)U104#(tt, V1, V2)isNat#(V1)
U21#(tt, V1)U22#(isNatKind(V1), V1)U102#(tt, V1, V2)U103#(isNatIListKind(V2), V1, V2)
U31#(tt, V)U32#(isNatIListKind(V), V)U32#(tt, V)isNatList#(V)
U92#(tt, V1, V2)U93#(isNatIListKind(V2), V1, V2)isNatIList#(V)U31#(isNatIListKind(V), V)
U105#(tt, V2)isNatIList#(V2)U41#(tt, V1, V2)U42#(isNatKind(V1), V1, V2)
U12#(tt, V1)isNatList#(V1)isNatList#(cons(V1, V2))U91#(isNatKind(V1), V1, V2)
U42#(tt, V1, V2)U43#(isNatIListKind(V2), V1, V2)U101#(tt, V1, V2)U102#(isNatKind(V1), V1, V2)
U93#(tt, V1, V2)U94#(isNatIListKind(V2), V1, V2)U11#(tt, V1)U12#(isNatIListKind(V1), V1)
isNatIList#(cons(V1, V2))U41#(isNatKind(V1), V1, V2)U43#(tt, V1, V2)U44#(isNatIListKind(V2), V1, V2)
isNat#(length(V1))U11#(isNatIListKind(V1), V1)U44#(tt, V1, V2)U45#(isNat(V1), V2)
U94#(tt, V1, V2)isNat#(V1)U103#(tt, V1, V2)U104#(isNatIListKind(V2), V1, V2)
U44#(tt, V1, V2)isNat#(V1)U104#(tt, V1, V2)U105#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNat(length(V1))U11(isNatIListKind(V1), V1)isNatIListKind(nil)tt
U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)U13(tt)tt
U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)
U62(tt)ttU81(tt)tt
isNatKind(0)ttU44(tt, V1, V2)U45(isNat(V1), V2)
U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)
isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)
U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)isNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U31(tt, V)U32(isNatIListKind(V), V)
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatKind(s(V1))U81(isNatKind(V1))
U52(tt)ttU46(tt)tt
isNatIList(V)U31(isNatIListKind(V), V)U105(tt, V2)U106(isNatIList(V2))
U45(tt, V2)U46(isNatIList(V2))U61(tt, V2)U62(isNatIListKind(V2))
isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
isNat(s(V1))U21(isNatKind(V1), V1)U33(tt)tt
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U12(tt, V1)U13(isNatList(V1))
U11(tt, V1)U12(isNatIListKind(V1), V1)U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNatIList(zeros)ttU32(tt, V)U33(isNatList(V))
isNat(0)ttisNatList(nil)tt
U23(tt)ttU71(tt)tt
isNatKind(length(V1))U71(isNatIListKind(V1))isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)
U22(tt, V1)U23(isNat(V1))U21(tt, V1)U22(isNatKind(V1), V1)
U106(tt)ttU51(tt, V2)U52(isNatIListKind(V2))
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U95#(tt, V2)isNatList#(V2)isNatList#(take(V1, V2))U101#(isNatKind(V1), V1, V2)
U45#(tt, V2)isNatIList#(V2)isNat#(length(V1))U11#(isNatIListKind(V1), V1)

Problem 9: DependencyGraph



Dependency Pair Problem

Dependency Pairs

U94#(tt, V1, V2)U95#(isNat(V1), V2)isNat#(s(V1))U21#(isNatKind(V1), V1)
U22#(tt, V1)isNat#(V1)U91#(tt, V1, V2)U92#(isNatKind(V1), V1, V2)
U104#(tt, V1, V2)isNat#(V1)U102#(tt, V1, V2)U103#(isNatIListKind(V2), V1, V2)
U21#(tt, V1)U22#(isNatKind(V1), V1)U32#(tt, V)isNatList#(V)
U31#(tt, V)U32#(isNatIListKind(V), V)U92#(tt, V1, V2)U93#(isNatIListKind(V2), V1, V2)
isNatIList#(V)U31#(isNatIListKind(V), V)U105#(tt, V2)isNatIList#(V2)
U41#(tt, V1, V2)U42#(isNatKind(V1), V1, V2)U12#(tt, V1)isNatList#(V1)
isNatList#(cons(V1, V2))U91#(isNatKind(V1), V1, V2)U42#(tt, V1, V2)U43#(isNatIListKind(V2), V1, V2)
U101#(tt, V1, V2)U102#(isNatKind(V1), V1, V2)U93#(tt, V1, V2)U94#(isNatIListKind(V2), V1, V2)
U11#(tt, V1)U12#(isNatIListKind(V1), V1)isNatIList#(cons(V1, V2))U41#(isNatKind(V1), V1, V2)
U43#(tt, V1, V2)U44#(isNatIListKind(V2), V1, V2)U44#(tt, V1, V2)U45#(isNat(V1), V2)
U94#(tt, V1, V2)isNat#(V1)U103#(tt, V1, V2)U104#(isNatIListKind(V2), V1, V2)
U44#(tt, V1, V2)isNat#(V1)U104#(tt, V1, V2)U105#(isNat(V1), V2)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


The following SCCs where found

isNat#(s(V1)) → U21#(isNatKind(V1), V1)U22#(tt, V1) → isNat#(V1)
U21#(tt, V1) → U22#(isNatKind(V1), V1)

Problem 10: PolynomialLinearRange4



Dependency Pair Problem

Dependency Pairs

isNat#(s(V1))U21#(isNatKind(V1), V1)U22#(tt, V1)isNat#(V1)
U21#(tt, V1)U22#(isNatKind(V1), V1)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, U122, 0, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U81, U52, U11, U12, U13, U102, U103, U101, nil

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U105) = μ(U52#) = μ(U106) = μ(U112) = μ(U111) = μ(U62) = μ(U114) = μ(U61) = μ(U113) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U43#) = μ(U44) = μ(U132) = μ(U43) = μ(U131) = μ(U42) = μ(U134) = μ(U41) = μ(U133) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U112#) = μ(U11) = μ(U12) = μ(U131#) = μ(U13) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


Polynomial Interpretation

Standard Usable rules

isNatIListKind(nil)ttisNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
U71(tt)ttisNatKind(length(V1))U71(isNatIListKind(V1))
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U81(tt)ttisNatKind(0)tt
isNatKind(s(V1))U81(isNatKind(V1))U51(tt, V2)U52(isNatIListKind(V2))
U52(tt)ttisNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)
isNatIListKind(zeros)tt

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

U21#(tt, V1)U22#(isNatKind(V1), V1)

Problem 12: DependencyGraph



Dependency Pair Problem

Dependency Pairs

isNat#(s(V1))U21#(isNatKind(V1), V1)U22#(tt, V1)isNat#(V1)

Rewrite Rules

zeroscons(0, zeros)U101(tt, V1, V2)U102(isNatKind(V1), V1, V2)
U102(tt, V1, V2)U103(isNatIListKind(V2), V1, V2)U103(tt, V1, V2)U104(isNatIListKind(V2), V1, V2)
U104(tt, V1, V2)U105(isNat(V1), V2)U105(tt, V2)U106(isNatIList(V2))
U106(tt)ttU11(tt, V1)U12(isNatIListKind(V1), V1)
U111(tt, L, N)U112(isNatIListKind(L), L, N)U112(tt, L, N)U113(isNat(N), L, N)
U113(tt, L, N)U114(isNatKind(N), L)U114(tt, L)s(length(L))
U12(tt, V1)U13(isNatList(V1))U121(tt, IL)U122(isNatIListKind(IL))
U122(tt)nilU13(tt)tt
U131(tt, IL, M, N)U132(isNatIListKind(IL), IL, M, N)U132(tt, IL, M, N)U133(isNat(M), IL, M, N)
U133(tt, IL, M, N)U134(isNatKind(M), IL, M, N)U134(tt, IL, M, N)U135(isNat(N), IL, M, N)
U135(tt, IL, M, N)U136(isNatKind(N), IL, M, N)U136(tt, IL, M, N)cons(N, take(M, IL))
U21(tt, V1)U22(isNatKind(V1), V1)U22(tt, V1)U23(isNat(V1))
U23(tt)ttU31(tt, V)U32(isNatIListKind(V), V)
U32(tt, V)U33(isNatList(V))U33(tt)tt
U41(tt, V1, V2)U42(isNatKind(V1), V1, V2)U42(tt, V1, V2)U43(isNatIListKind(V2), V1, V2)
U43(tt, V1, V2)U44(isNatIListKind(V2), V1, V2)U44(tt, V1, V2)U45(isNat(V1), V2)
U45(tt, V2)U46(isNatIList(V2))U46(tt)tt
U51(tt, V2)U52(isNatIListKind(V2))U52(tt)tt
U61(tt, V2)U62(isNatIListKind(V2))U62(tt)tt
U71(tt)ttU81(tt)tt
U91(tt, V1, V2)U92(isNatKind(V1), V1, V2)U92(tt, V1, V2)U93(isNatIListKind(V2), V1, V2)
U93(tt, V1, V2)U94(isNatIListKind(V2), V1, V2)U94(tt, V1, V2)U95(isNat(V1), V2)
U95(tt, V2)U96(isNatList(V2))U96(tt)tt
isNat(0)ttisNat(length(V1))U11(isNatIListKind(V1), V1)
isNat(s(V1))U21(isNatKind(V1), V1)isNatIList(V)U31(isNatIListKind(V), V)
isNatIList(zeros)ttisNatIList(cons(V1, V2))U41(isNatKind(V1), V1, V2)
isNatIListKind(nil)ttisNatIListKind(zeros)tt
isNatIListKind(cons(V1, V2))U51(isNatKind(V1), V2)isNatIListKind(take(V1, V2))U61(isNatKind(V1), V2)
isNatKind(0)ttisNatKind(length(V1))U71(isNatIListKind(V1))
isNatKind(s(V1))U81(isNatKind(V1))isNatList(nil)tt
isNatList(cons(V1, V2))U91(isNatKind(V1), V1, V2)isNatList(take(V1, V2))U101(isNatKind(V1), V1, V2)
length(nil)0length(cons(N, L))U111(isNatList(L), L, N)
take(0, IL)U121(isNatIList(IL), IL)take(s(M), cons(N, IL))U131(isNatIList(IL), IL, M, N)

Original Signature

Termination of terms over the following signature is verified: U104, U105, U106, U112, U111, U114, U62, U61, U113, U23, U21, U22, isNatIList, isNatKind, U71, 0, U122, U121, zeros, U31, U32, U33, isNatIListKind, U96, U94, U95, isNat, U46, U45, U132, U44, U131, U43, U93, U134, U42, U92, U133, U41, U91, U136, U135, length, cons, isNatList, s, U51, tt, take, U52, U81, U11, U12, U13, U102, U103, nil, U101

Strategy

Context-sensitive strategy:
μ(zeros#) = μ(0) = μ(zeros) = μ(isNatList#) = μ(isNatIListKind) = μ(T) = μ(isNatList) = μ(tt) = μ(isNat#) = μ(isNatIListKind#) = μ(isNatIList) = μ(isNatKind) = μ(isNatIList#) = μ(isNatKind#) = μ(isNat) = μ(nil) = ∅
μ(U11#) = μ(U31#) = μ(U104) = μ(U52#) = μ(U105) = μ(U106) = μ(U112) = μ(U111) = μ(U114) = μ(U62) = μ(U113) = μ(U61) = μ(U45#) = μ(U12#) = μ(U51#) = μ(U71) = μ(U71#) = μ(U122) = μ(U121) = μ(U46#) = μ(U32#) = μ(U13#) = μ(U102#) = μ(U135#) = μ(U23#) = μ(U95#) = μ(U122#) = μ(U46) = μ(U45) = μ(U132) = μ(U44) = μ(U43#) = μ(U131) = μ(U43) = μ(U134) = μ(U42) = μ(U133) = μ(U41) = μ(U136) = μ(U135) = μ(length) = μ(cons) = μ(U33#) = μ(U101#) = μ(U121#) = μ(U96#) = μ(U136#) = μ(U44#) = μ(U51) = μ(s) = μ(U52) = μ(U93#) = μ(U21#) = μ(U62#) = μ(U104#) = μ(U134#) = μ(U41#) = μ(U23) = μ(U113#) = μ(U21) = μ(U22) = μ(U94#) = μ(U22#) = μ(U61#) = μ(U103#) = μ(U133#) = μ(U42#) = μ(U31) = μ(U32) = μ(U33) = μ(U114#) = μ(length#) = μ(U91#) = μ(U96) = μ(U81#) = μ(U94) = μ(U106#) = μ(U95) = μ(U93) = μ(U92) = μ(U91) = μ(U132#) = μ(U111#) = μ(U92#) = μ(U105#) = μ(U81) = μ(U11) = μ(U112#) = μ(U12) = μ(U13) = μ(U131#) = μ(U102) = μ(U103) = μ(U101) = {1}
μ(take#) = μ(take) = {1, 2}


There are no SCCs!